forked from ipc2023-classical/planner21
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathApptainer.dofri
104 lines (85 loc) · 2.93 KB
/
Apptainer.dofri
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# Stage 1: Compile the planner
Bootstrap: docker
From: ubuntu:kinetic
Stage: build
%files
src
driver
build_configs.py
build.py
fast-downward.py
$IPC_THIRD_PARTY/cplex_studio2211.linux_x86_64.bin cplex.bin
Osi-0.108.6.tgz
%post
## Install all necessary dependencies.
apt-get update
apt-get -y install --no-install-recommends cmake make g++ python3 default-jre-headless zlib1g-dev
## Clear local build directories.
rm -rf /builds
## Build CPLEX
./cplex.bin -DLICENSE_ACCEPTED=TRUE -i silent
export DOWNWARD_CPLEX_ROOT=/opt/ibm/ILOG/CPLEX_Studio2211/cplex/
##Build OSI
tar xvzf Osi-0.108.6.tgz
cd Osi-0.108.6
export DOWNWARD_COIN_ROOT=/opt/coin/
./configure CC="gcc" CFLAGS="-pthread -Wno-long-long" \
CXX="g++" CXXFLAGS="-pthread -Wno-long-long" \
LDFLAGS="-L$DOWNWARD_CPLEX_ROOT/lib/x86-64_linux/static_pic" \
--without-lapack --enable-static=yes \
--prefix="$DOWNWARD_COIN_ROOT" \
--disable-bzlib \
--with-cplex-incdir=$DOWNWARD_CPLEX_ROOT/include/ilcplex \
--with-cplex-lib="-lcplex -lm -ldl"
make
make install
cd ..
## Build the planner
./build.py -j4
strip --strip-all builds/release/bin/downward builds/release/bin/preprocess-h2
# Stage 2: Run the planner
Bootstrap: docker
From: ubuntu:kinetic
Stage: run
%files
driver
fast-downward.py
%files from build
builds/release/bin/
/opt/ibm/ILOG/CPLEX_Studio2211/cplex/
/opt/coin/
%post
## Install only dependencies for running the planner.
apt-get update
apt-get -y install --no-install-recommends python3 zlib1g-dev
apt-get clean
## Remove unnecessary files to keep the image small.
rm -rf /var/lib/apt/lists/*
# The runscript is called whenever the container is used to solve an instance.
%runscript
DOMAINFILE="$1"
PROBLEMFILE="$2"
PLANFILE="$3"
/fast-downward.py \
--overall-time-limit 30m \
--transform-task /builds/release/bin/preprocess-h2 \
--plan-file "$PLANFILE" \
--alias seq-opt-dofri \
"$DOMAINFILE" \
"$PROBLEMFILE" \
## Define meta data
%labels
Name Dofri
Description forward search with A* and the Saturated Post-Hoc optimization heuristic that selectively reuses previous SPhO LP solutions.
Authors Paul Höft <[email protected]>, David Speck <[email protected]>, Jendrik Seipp <[email protected]>
License GPL 3
Tracks optimal
SupportsDerivedPredicates no
SupportsUniversallyQuantifiedPreconditions yes
SupportsExistentiallyQuantifiedPreconditions yes
SupportsUniversallyQuantifiedEffects yes
SupportsNegativePreconditions yes
SupportsEqualityPreconditions yes
SupportsInequalityPreconditions yes
SupportsConditionalEffects yes
SupportsImplyPreconditions yes