Skip to content

Commit 3483eb7

Browse files
committed
initial commit
0 parents  commit 3483eb7

189 files changed

Lines changed: 108653 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎README‎

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
About
2+
-----
3+
4+
This directory contains the planner POPF2. The original incarnation of POPF
5+
is described in the ICAPS 2010 paper "Forward-Chaining Partial-Order Planning."
6+
by Amanda Coles, Andrew Coles, Maria Fox and Derek Long. This version
7+
extends POPF by introducing any-time search, allowing it to optimise solution
8+
quality.
9+
10+
Compiling
11+
---------
12+
13+
POPF2 requires:
14+
- cmake ( http://www.cmake.org/ )
15+
- the CBC mixed integer programming solver ( https://projects.coin-or.org/Cbc/ )
16+
- perl, bison and flex to build the parser
17+
18+
These are packaged with most linux distributions - on Ubuntu/Debian, the
19+
following should suffice:
20+
21+
sudo apt-get install cmake coinor-libcbc-dev coinor-libclp-dev \
22+
coinor-libcoinutils-dev bison flex
23+
24+
25+
After that, run ./build
26+
27+
28+
Running
29+
-------
30+
31+
Run:
32+
33+
./plan <domain> <problem> <solution filename>
34+
35+
As POPF2 is an any-time planer, it will save sequentially numbered plans.

‎build‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/bin/bash
2+
3+
cd compile
4+
cmake ../src -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=TRUE
5+
make popf3-clp

‎plan‎

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
#!/usr/bin/perl -w
2+
3+
if ((scalar @ARGV) != 3) {
4+
print "Usage: plan <domain> <problem> <solution>\n";
5+
exit(1);
6+
}
7+
8+
$dom = shift @ARGV;
9+
$prob = shift @ARGV;
10+
$soln = shift @ARGV;
11+
12+
if (!(-e $dom)) {
13+
print "Domain file $dom not found\n";
14+
exit(1);
15+
}
16+
17+
if (!(-e $prob)) {
18+
print "Problem file $prob not found\n";
19+
exit(1);
20+
}
21+
22+
open IN, "./compile/popf2/popf3-clp -I -n $dom $prob |";
23+
24+
$solnfile = 1;
25+
while (<IN>) {
26+
if (m/; Plan found/) {
27+
print "\n\n - Opening plan file $soln.$solnfile\n";
28+
print;
29+
open OUT, "> $soln.$solnfile";
30+
print OUT;
31+
while (<IN>) {
32+
if (m/./) {
33+
print;
34+
print OUT;
35+
} else {
36+
print;
37+
last;
38+
}
39+
}
40+
close OUT;
41+
++$solnfile;
42+
} else {
43+
print;
44+
}
45+
46+
}
47+
48+
close IN;

‎src/CMakeLists.txt‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
cmake_minimum_required(VERSION 2.4)
2+
3+
if(COMMAND cmake_policy)
4+
cmake_policy(SET CMP0003 NEW)
5+
endif(COMMAND cmake_policy)
6+
7+
project(colinroot)
8+
9+
set(CMAKE_CXX_FLAGS_PROFILE "-pg -O -g")
10+
set(CMAKE_CXX_LINK_FLAGS_PROFILE "-pg -g")
11+
12+
13+
set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
14+
${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
15+
16+
add_subdirectory(VALfiles)
17+
add_subdirectory(popf2)

‎src/VALfiles/.cvsignore‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*.opto
2+
*.Oo

0 commit comments

Comments
 (0)