/* Simple Translog, August, 1999. ***************************************** Written in: OCLh Originator: Donghong Liu Aug 99 Updated: Lee McCLuskey Sept 99 Derived from Univ. of Maryland's literal-based specification This model captures the object structure and actions in a "transport logistics" domain where packages have to be transported around different locations in different cities, using trucks and trains */ domain_name(translog1). /*********************** sort hierarchy *****************************/ sorts(non_primitive_sorts, [ location, city_location,tcentre,not_tcentre, route, physical_obj, vehicle, railv]). sorts(primitive_sorts, [ train_station, post_office, clocation, city, package, train, traincar, truck, road_route, rail_route]). sorts(physical_obj, [vehicle, package]). sorts(vehicle, [railv,truck]). sorts(railv, [traincar,train]). sorts(location, [city_location,city]). sorts(city_location, [tcentre,not_tcentre]). sorts(tcentre, [train_station]). sorts(not_tcentre, [clocation,post_office]). sorts(route, [road_route, rail_route]). objects(train_station, [city1_ts1,city2_ts1,city3_ts1]). objects(clocation, [city1_cl1,city1_cl2,city2_cl1,city3_cl1]). objects(post_office, [post_1]). objects(city, [city1, city2, city3]). objects(train,[train1,train2]). objects(traincar,[traincar1]). objects(road_route, [road_route_21,road_route_32, road_route_31 ]). objects(rail_route,[rail_route_2,rail_route_3 ]). objects(truck, [truck_1, truck_2, truck_3, truck_11, truck_22, truck_33]). objects(package,[pk_1, pk_2, pk_3, pk_4, pk_5, pk_6]). /*********************** predcate defns ***********************************/ predicates([ % dynamic at(physical_obj,city_location), moveable(vehicle), available(vehicle), busy(vehicle), attached(railv,railv), unattached(railv), waiting(package), certified(package), uncertified(package), loaded(package,truck), loaded(package,traincar), delivered(package), % static rv_compatible(route,vehicle), serves(tcentre,location), connects(route,location,location), in_city(city_location, city), route_available(route) ]). /*********************** invariants ****************************************/ % LHS vars univ. quantified over primitive sorts % RHS free vars are existentially quantified implied_invariant([loaded(P,V)], [at(V,L),at(P,L)]). inconsistent_constraint([certified(P), not_insured(P)]). inconsistent_constraint([attached(A,A)]). atomic_invariants([ rv_compatible(rail_route,traincar), rv_compatible(rail_route,train), rv_compatible(road_route,truck), in_city(city1_cl1,city1), in_city(city1_ts1,city1), in_city(city1_cl2,city1), in_city(city1_ts2,city1), in_city(city2_cl1,city2), in_city(city2_ts1,city2), in_city(city3_cl1,city3), in_city(city3_ts1,city3), serves(city1_ts1,city1), serves(city1_ts2,city1), serves(city2_ts1,city2), serves(city3_ts1,city3), route_available(road_route_31), connects(road_route_31,city3,city1), connects(road_route_31,city1,city3), route_available(road_route_32), connects(road_route_32,city3,city2), connects(road_route_32,city2,city3), route_available(rail_route_1), connects(rail_route_1,city1_ts2,city1_ts1), connects(rail_route_1,city1_ts1,city1_ts2), route_available(rail_route_2), connects(rail_route_2,city2_ts1,city1_ts1), connects(rail_route_2,city1_ts1,city2_ts1), route_available(rail_route_3), connects(rail_route_3,city3_ts1,city1_ts1), connects(rail_route_3,city1_ts1,city3_ts1), connects(road_route_21,city2,city1), route_available(road_route_21), connects(road_route_21,city1,city2) ]). /*********************** ss classes ****************************************/ substate_classes(physical_obj, P, [ [at(P,L)] ]). substate_classes(railv, V, [ [unattached(V)] , [attached(V,V1)] ]). substate_classes(train, T, [ [moveable(T),available(T)], [moveable(T),busy(T)] ]). substate_classes(traincar, TC, [ [moveable(TC),available(TC)], [moveable(TC),busy(TC) ] ]). substate_classes(truck, TU, [ [moveable(TU), available(TU)], [moveable(TU), busy(TU) ] ]). substate_classes(package, P, [ [uncertified(P)], [waiting(P),certified(P)], [loaded(P,V),certified(P)], [delivered(P)] ]) . /*********************** operators ****************************************/ % method(name,precons,transitions,statics,temps,decomposition) % operator(name,prevail,transitions,cond_transitions) method( % 1. name transport(P,O,D), % 2. dynamic constraints [ ], % 3. list of necessary substate changes [ sc(package, P, [at(P,O), is_of_sort(P,package)] => [at(P,D), delivered(P)]) ], % 4. static constraints [ ne(O,D) % list of static predicates that must be instantiated to % be true. Static preds may also appear in 2. and 3. if % its clearer that way ], % 5. temporal constraints % list of static predicates before(N1,N2) [before(1,2),before(2,3)], % 6. decomposition [achieve(ss(package, P,[waiting(P),certified(P)])), carry_direct(P,O,D), deliver(P,D)] ). % carry between two cities by traincar method( carry_direct(P,O,D), [ ], [ sc(package, P, [at(P,O),waiting(P),certified(P)] => [at(P,D),waiting(P),certified(P)]) ], [is_of_sort(P,package), is_of_sort(V,traincar), is_of_sort(Train,train), is_of_primitive_sort(R,RS), rv_compatible(RS,traincar), route_available(R), connects(R,O,D) ], [before(1,2), before(2,3), before(3,4),before(4,5), before(5,6)], [ % achieve(ss(traincar,V,[moveable(V), busy(V)])), commission(V), achieve(ss(traincar,V,[at(V,O),moveable(V),available(V),attached(V,Train)])), load_package(P,V,O), pull_traincar(Train,V,O,D,R), detach_traincar(Train,V,D), unload_package(P,V,D) ] ). % % carry in one city method( carry_direct(P,O,D), [ ], [ sc(package, P, [at(P,O),waiting(P),certified(P)] => [at(P,D),waiting(P),certified(P)]) ], [is_of_sort(P,package), is_of_sort(V,truck), in_city(O,CY), in_city(D,CY) ], [before(1,3), before(2,3), before(3,4),before(4,5) ], [ % achieve(ss(truck,V,[moveable(V), busy(V)])), commission(V), achieve(ss(truck,V,[at(V,O)])), load_package(P,V,O), move_local(V,O,D), unload_package(P,V,D) ] ). % carry between two cities by truck method( carry_direct(P,O,D), [ ], [ sc(package, P, [at(P,O),waiting(P),certified(P)] => [at(P,D),waiting(P),certified(P)]) ], [is_of_sort(P,package), is_of_sort(V,truck), in_city(O,CY), in_city(D,CY1), ne(CY,CY1), connects(R,CY,CY1), is_of_sort(R,road_route), route_available(R) ], [before(1,3), before(2,3), before(3,4),before(4,5) ], [ % achieve(ss(truck,V,[moveable(V), busy(V)])), commission(V), achieve(ss(truck,V,[at(V,O)])), load_package(P,V,O), move(V,O,D,R), unload_package(P,V,D) ] ). method( move_traincar(V, O, L, R2), [ ], [sc(traincar,V,[at(V,O)] =>[at(V,L)])], [is_of_sort(V,traincar), connects(R2,O,L), is_of_sort(R2,rail_route), is_of_sort(Train,train) ], [before(1,2), before(2,3)], [ achieve(ss(train,Train,[at(Train,O)])), attach_traincar(Train,V,O), pull_traincar(Train,V,O,L,R2)] ). /* getting docs ready */ operator( pay_fees(P), [], [sc(package,P,[uncertified(P)] =>[waiting(P),certified(P)])], [ ]). %move truck operator( move(V, O, L, R), [ ], [sc(truck,V,[at(V,O), is_of_sort(R,road_route), moveable(V), in_city(O,City), in_city(L,City1), ne(City,City1), connects(R,City,City1)] =>[at(V,L)] )], [sc(package,X,[loaded(X,V),certified(X),at(X,O)] => [loaded(X,V),certified(X),at(X,L)]) ] ). %move truck inside city operator( move_local(V, O, L), [], [sc(truck,V,[at(V,O), moveable(V), in_city(O,City), in_city(L,City),ne(O,L)] =>[at(V,L)] )], [ sc(package,X,[loaded(X,V),certified(X),at(X,O)] =>[loaded(X,V),certified(X),at(X,L)]) ] ). %move traincar operator( pull_traincar(Train,V1, O, L, Rt), [ ], [ sc(train,Train,[at(Train,O), attached(Train,V1), moveable(Train), connects(Rt,O,L), is_of_sort(Rt,rail_route)] =>[at(Train,L),attached(Train,V1)] ), sc(traincar,V1,[at(V1,O),attached(V1,Train)] =>[at(V1,L),attached(V1,Train)]) ], [sc(package,P,[loaded(P,V1),certified(P),at(P,O)] =>[loaded(P,V1),certified(P),at(P,L)]) ] ). operator( move_train(V, O, L, Rt), [ ], [sc(train,V,[at(V,O),unattached(V), moveable(V),available(V), connects(Rt,O,L), is_of_sort(Rt,rail_route)] =>[at(V,L),unattached(V),moveable(V),available(V)] )], [ ] ). operator(attach_traincar(Train,V,O), [ ], [sc(train, Train, [at(Train,O),moveable(Train),available(Train),unattached(Train)] =>[at(Train,O),attached(Train,V),moveable(Train),busy(Train)] ), sc(traincar, V, [at(V,O),unattached(V)] =>[at(V,O),attached(V,Train)] ) ], [ ] ). operator(detach_traincar(Train,V,O), [ ], [sc(train, Train, [attached(Train,V),moveable(Train),busy(Train)] =>[unattached(Train),moveable(Train),available(Train)] ), sc(traincar, V, [attached(V,Train)] =>[unattached(V)] ) ], [ ] ). operator(commission(V), [ ], [sc(vehicle, V,[moveable(V),available(V)] =>[moveable(V), busy(V)])], [ ]). operator( load_package(P,V,L), [ss(vehicle,V, [at(V,L),moveable(V),busy(V)])], [sc(package, P, [at(P,L),waiting(P),certified(P)]=>[at(P,L),loaded(P,V),certified(P)])], [] ). operator( unload_package(P,V,L), [], [sc(package, P, [at(P,L),loaded(P,V),certified(P)]=>[at(P,L),waiting(P),certified(P)]), sc(vehicle,V, [at(V,L),moveable(V),busy(V)] => [at(V,L),moveable(V),available(V)]) ], [] ). operator( deliver(P,L), [], [sc(package, P, [at(P,L),waiting(P),certified(P)]=> [at(P,L),delivered(P)] )], [] ). /******* BEGIN BEGIN BEGIN FILE SOLUTION END END END FILE *****/ % TESTS htn_task(0, goal([ transport(pk_1,city3_cl1,city1_cl1) ] ,[],[]), [ ss(package,pk_1, [at(pk_1,city3_cl1), uncertified(pk_1)]), ss(package,pk_2, [at(pk_2,city3_cl1), uncertified(pk_2)]), ss(package,pk_3, [at(pk_3,city3_cl1), uncertified(pk_3)]), ss(package,pk_4, [at(pk_4,city1_cl1), uncertified(pk_4)]), ss(package,pk_5, [at(pk_5,city3_cl1), uncertified(pk_5)]), ss(package,pk_6, [at(pk_6,city1_ts1), uncertified(pk_6)]), ss(truck,truck_1, [at(truck_1,city1_cl1),moveable(truck_1), available(truck_1)]), ss(truck,truck_11, [at(truck_11,city1_cl1), moveable(truck_11), available(truck_11)]), ss(truck,truck_2, [at(truck_2,city2_cl1), moveable(truck_2), available(truck_2)]), ss(truck,truck_22, [at(truck_22,city2_cl1), moveable(truck_22), available(truck_22)]), ss(truck,truck_3, [at(truck_3,city3_cl1), moveable(truck_3), available(truck_3)]), ss(truck,truck_33, [at(truck_33,city3_cl1), moveable(truck_33), available(truck_33)]), ss(traincar,traincar1, [at(traincar1,city2_ts1), unattached(traincar1), moveable(traincar1),available(traincar1)]), ss(train,train2, [at(train2,city2_ts1), unattached(train2), moveable(train2),available(train2)]), ss(train,train1, [at(train1,city1_ts1), unattached(train1), moveable(train1),available(train1)]) ]). /******* BEGIN BEGIN BEGIN FILE SOLUTION END END END FILE *****/ htn_task(1,goal([ transport(pk_1,city3_cl1,city1_cl1) ] ,[],[]), [ ss(package,pk_1, [at(pk_1,city3_cl1), uncertified(pk_1)]), ss(package,pk_2, [at(pk_2,city3_cl1), uncertified(pk_2)]), ss(package,pk_3, [at(pk_3,city3_cl1), uncertified(pk_3)]), ss(package,pk_4, [at(pk_4,city1_cl1), uncertified(pk_4)]), ss(package,pk_5, [at(pk_5,city3_cl1), uncertified(pk_5)]), ss(package,pk_6, [at(pk_6,city1_ts1), uncertified(pk_6)]), ss(truck,truck_1, [at(truck_1,city1_cl1), available(truck_1)]), ss(truck,truck_11, [at(truck_11,city1_cl1), moveable(truck_11), available(truck_11)]), ss(truck,truck_2, [at(truck_2,city2_cl1), moveable(truck_2), available(truck_2)]), ss(truck,truck_22, [at(truck_22,city2_cl1), moveable(truck_22), available(truck_22)]), ss(truck,truck_3, [at(truck_3,city3_cl1), moveable(truck_3), available(truck_3)]), ss(truck,truck_33, [at(truck_33,city3_cl1), moveable(truck_33), available(truck_33)]), ss(traincar,traincar1, [at(traincar1,city2_ts1), unattached(traincar1), moveable(traincar1),available(traincar1)]), ss(train,train2, [at(train2,city2_ts1), unattached(train2), moveable(train2),available(train2)]), ss(train,train1, [at(train1,city1_ts1), unattached(train1), moveable(train1),available(train1)]) ] ). /******* BEGIN BEGIN BEGIN FILE task 1: CPU Time = 20 TIME TAKEN = 0.02 SECONDS Solution SIZE = 6 Operator Used = 9 TASK 1 SOLUTION pay_fees(pk_1) commission(truck_3) load_package(pk_1,truck_3,city3_cl1) move(truck_3,city3_cl1,city1_cl1,road_route_31) unload_package(pk_1,truck_3,city1_cl1) deliver(pk_1,city1_cl1) END END END FILE *****/ htn_task(2, goal([achieve(ss(traincar,traincar1,[at(traincar1,city1_ts1)]))],[],[]), [ ss(package,pk_1, [at(pk_1,city3_cl1), uncertified(pk_1)]), ss(package,pk_2, [at(pk_2,city3_cl1), uncertified(pk_2)]), ss(package,pk_3, [at(pk_3,city3_cl1), uncertified(pk_3)]), ss(package,pk_4, [at(pk_4,city1_cl1), uncertified(pk_4)]), ss(package,pk_5, [at(pk_5,city3_cl1), uncertified(pk_5)]), ss(package,pk_6, [at(pk_6,city1_ts1), uncertified(pk_6)]), ss(truck,truck_1, [at(truck_1,city1_cl1), available(truck_1)]), ss(truck,truck_11, [at(truck_11,city1_cl1), moveable(truck_11), available(truck_11)]), ss(truck,truck_2, [at(truck_2,city2_cl1), moveable(truck_2), available(truck_2)]), ss(truck,truck_22, [at(truck_22,city2_cl1), moveable(truck_22), available(truck_22)]), ss(truck,truck_3, [at(truck_3,city3_cl1), moveable(truck_3), available(truck_3)]), ss(truck,truck_33, [at(truck_33,city3_cl1), moveable(truck_33), available(truck_33)]), ss(traincar,traincar1, [at(traincar1,city2_ts1), unattached(traincar1), moveable(traincar1),available(traincar1)]), ss(train,train2, [at(train2,city2_ts1), unattached(train2), moveable(train2),available(train2)]), ss(train,train1, [at(train1,city1_ts1), unattached(train1), moveable(train1),available(train1)]) ] ). /******* BEGIN BEGIN BEGIN FILE task 2: CPU Time = 60 TIME TAKEN = 0.06 SECONDS Solution SIZE = 2 Operator Used = 3 TASK 2 SOLUTION attach_traincar(train2,traincar1,city2_ts1) pull_traincar(train2,traincar1,city2_ts1,city1_ts1,rail_route_2) END END END FILE *****/ htn_task(3,goal([ transport(pk_2,city3_cl1,city2_cl1), % hp1 transport(pk_1,city3_cl1,city1_cl1)], % hp2 [before(1,2)], [ ]), [ ss(package,pk_1, [at(pk_1,city3_cl1), uncertified(pk_1)]), ss(package,pk_2, [at(pk_2,city3_cl1), uncertified(pk_2)]), ss(package,pk_3, [at(pk_3,city3_cl1), uncertified(pk_3)]), ss(package,pk_4, [at(pk_4,city1_cl1), uncertified(pk_4)]), ss(package,pk_5, [at(pk_5,city3_cl1), uncertified(pk_5)]), ss(package,pk_6, [at(pk_6,city1_ts1), uncertified(pk_6)]), ss(truck,truck_1, [at(truck_1,city1_cl1), available(truck_1)]), ss(truck,truck_11, [at(truck_11,city1_cl1), moveable(truck_11), available(truck_11)]), ss(truck,truck_2, [at(truck_2,city2_cl1), moveable(truck_2), available(truck_2)]), ss(truck,truck_22, [at(truck_22,city2_cl1), moveable(truck_22), available(truck_22)]), ss(truck,truck_3, [at(truck_3,city3_cl1), moveable(truck_3), available(truck_3)]), ss(truck,truck_33, [at(truck_33,city3_cl1), moveable(truck_33), available(truck_33)]), ss(traincar,traincar1, [at(traincar1,city2_ts1), unattached(traincar1), moveable(traincar1),available(traincar1)]), ss(train,train2, [at(train2,city2_ts1), unattached(train2), moveable(train2),available(train2)]), ss(train,train1, [at(train1,city1_ts1), unattached(train1), moveable(train1),available(train1)]) ] ). /******* BEGIN BEGIN BEGIN FILE task 3: CPU Time = 30 TIME TAKEN = 0.03 SECONDS Solution SIZE = 12 Operator Used = 18 TASK 3 SOLUTION pay_fees(pk_2) commission(truck_3) load_package(pk_2,truck_3,city3_cl1) move(truck_3,city3_cl1,city2_cl1,road_route_32) unload_package(pk_2,truck_3,city2_cl1) deliver(pk_2,city2_cl1) pay_fees(pk_1) commission(truck_33) load_package(pk_1,truck_33,city3_cl1) move(truck_33,city3_cl1,city1_cl1,road_route_31) unload_package(pk_1,truck_33,city1_cl1) deliver(pk_1,city1_cl1) END END END FILE *****/ htn_task(4,goal([ transport(pk_1,city3_cl1,city1_cl1), transport(pk_2,city3_cl1,CL) ], [], [in_city(CL,X),ne(X,city1)]), [ ss(package,pk_1, [at(pk_1,city3_cl1), uncertified(pk_1)]), ss(package,pk_2, [at(pk_2,city3_cl1), uncertified(pk_2)]), ss(package,pk_3, [at(pk_3,city3_cl1), uncertified(pk_3)]), ss(package,pk_4, [at(pk_4,city1_cl1), uncertified(pk_4)]), ss(package,pk_5, [at(pk_5,city3_cl1), uncertified(pk_5)]), ss(package,pk_6, [at(pk_6,city1_ts1), uncertified(pk_6)]), ss(truck,truck_1, [at(truck_1,city1_cl1), available(truck_1)]), ss(truck,truck_11, [at(truck_11,city1_cl1), moveable(truck_11), available(truck_11)]), ss(truck,truck_2, [at(truck_2,city2_cl1), moveable(truck_2), available(truck_2)]), ss(truck,truck_22, [at(truck_22,city2_cl1), moveable(truck_22), available(truck_22)]), ss(truck,truck_3, [at(truck_3,city3_cl1), moveable(truck_3), available(truck_3)]), ss(truck,truck_33, [at(truck_33,city3_cl1), moveable(truck_33), available(truck_33)]), ss(traincar,traincar1, [at(traincar1,city2_ts1), unattached(traincar1), moveable(traincar1),available(traincar1)]), ss(train,train2, [at(train2,city2_ts1), unattached(train2), moveable(train2),available(train2)]), ss(train,train1, [at(train1,city1_ts1), unattached(train1), moveable(train1),available(train1)]) ] ). /******* BEGIN BEGIN BEGIN FILE task 4: CPU Time = 40 TIME TAKEN = 0.04 SECONDS Solution SIZE = 12 Operator Used = 18 TASK 4 SOLUTION pay_fees(pk_2) commission(truck_3) load_package(pk_2,truck_3,city3_cl1) move_local(truck_3,city3_cl1,city3_ts1) unload_package(pk_2,truck_3,city3_ts1) deliver(pk_2,city3_ts1) pay_fees(pk_1) commission(truck_33) load_package(pk_1,truck_33,city3_cl1) move(truck_33,city3_cl1,city1_cl1,road_route_31) unload_package(pk_1,truck_33,city1_cl1) deliver(pk_1,city1_cl1) END END END FILE *****/ % transport to two different cities.. htn_task(5,goal([ transport(pk_1,city3_cl1,X), transport(pk_2,city3_cl1,Y) ], [before(1,2)], [in_city(X,CT1),in_city(Y,CT2),ne(CT1,CT2)]), [ ss(package,pk_1, [at(pk_1,city3_cl1), uncertified(pk_1)]), ss(package,pk_2, [at(pk_2,city3_cl1), uncertified(pk_2)]), ss(package,pk_3, [at(pk_3,city3_cl1), uncertified(pk_3)]), ss(package,pk_4, [at(pk_4,city1_cl1), uncertified(pk_4)]), ss(package,pk_5, [at(pk_5,city3_cl1), uncertified(pk_5)]), ss(package,pk_6, [at(pk_6,city1_ts1), uncertified(pk_6)]), ss(truck,truck_1, [at(truck_1,city1_cl1), available(truck_1)]), ss(truck,truck_11, [at(truck_11,city1_cl1), moveable(truck_11), available(truck_11)]), ss(truck,truck_2, [at(truck_2,city2_cl1), moveable(truck_2), available(truck_2)]), ss(truck,truck_22, [at(truck_22,city2_cl1), moveable(truck_22), available(truck_22)]), ss(truck,truck_3, [at(truck_3,city3_cl1), moveable(truck_3), available(truck_3)]), ss(truck,truck_33, [at(truck_33,city3_cl1), moveable(truck_33), available(truck_33)]), ss(traincar,traincar1, [at(traincar1,city2_ts1), unattached(traincar1), moveable(traincar1),available(traincar1)]), ss(train,train2, [at(train2,city2_ts1), unattached(train2), moveable(train2),available(train2)]), ss(train,train1, [at(train1,city1_ts1), unattached(train1), moveable(train1),available(train1)]) ] ). /******* BEGIN BEGIN BEGIN FILE task 5: CPU Time = 50 TIME TAKEN = 0.05 SECONDS Solution SIZE = 12 Operator Used = 24 TASK 5 SOLUTION pay_fees(pk_1) commission(truck_3) load_package(pk_1,truck_3,city3_cl1) move_local(truck_3,city3_cl1,city3_ts1) unload_package(pk_1,truck_3,city3_ts1) deliver(pk_1,city3_ts1) pay_fees(pk_2) commission(truck_33) load_package(pk_2,truck_33,city3_cl1) move(truck_33,city3_cl1,city2_cl1,road_route_32) unload_package(pk_2,truck_33,city2_cl1) deliver(pk_2,city2_cl1) END END END FILE *****/ htn_task(6,goal([ transport(pk_1,city3_cl1,X), transport(pk_2,city3_cl1,Y) ], [before(1,2)], [in_city(X,CT1),in_city(Y,CT2),ne(CT1,CT2),ne(CT1,city3),ne(CT2,city3)]), [ ss(package,pk_1, [at(pk_1,city3_cl1), uncertified(pk_1)]), ss(package,pk_2, [at(pk_2,city3_cl1), uncertified(pk_2)]), ss(package,pk_3, [at(pk_3,city3_cl1), uncertified(pk_3)]), ss(package,pk_4, [at(pk_4,city1_cl1), uncertified(pk_4)]), ss(package,pk_5, [at(pk_5,city3_cl1), uncertified(pk_5)]), ss(package,pk_6, [at(pk_6,city1_ts1), uncertified(pk_6)]), ss(truck,truck_1, [at(truck_1,city1_cl1), available(truck_1)]), ss(truck,truck_11, [at(truck_11,city1_cl1), moveable(truck_11), available(truck_11)]), ss(truck,truck_2, [at(truck_2,city2_cl1), moveable(truck_2), available(truck_2)]), ss(truck,truck_22, [at(truck_22,city2_cl1), moveable(truck_22), available(truck_22)]), ss(truck,truck_3, [at(truck_3,city3_cl1), moveable(truck_3), available(truck_3)]), ss(truck,truck_33, [at(truck_33,city3_cl1), moveable(truck_33), available(truck_33)]), ss(traincar,traincar1, [at(traincar1,city2_ts1), unattached(traincar1), moveable(traincar1),available(traincar1)]), ss(train,train2, [at(train2,city2_ts1), unattached(train2), moveable(train2),available(train2)]), ss(train,train1, [at(train1,city1_ts1), unattached(train1), moveable(train1),available(train1)]) ] ). /******* BEGIN BEGIN BEGIN FILE task 6: CPU Time = 200 TIME TAKEN = 0.2 SECONDS Solution SIZE = 12 Operator Used = 38 TASK 6 SOLUTION pay_fees(pk_1) commission(truck_3) load_package(pk_1,truck_3,city3_cl1) move(truck_3,city3_cl1,city2_cl1,road_route_32) unload_package(pk_1,truck_3,city2_cl1) deliver(pk_1,city2_cl1) pay_fees(pk_2) commission(truck_33) load_package(pk_2,truck_33,city3_cl1) move(truck_33,city3_cl1,city1_cl1,road_route_31) unload_package(pk_2,truck_33,city1_cl1) deliver(pk_2,city1_cl1) END END END FILE *****/ htn_task(7,goal([ achieve(ss(traincar,traincar1,[at(traincar1,city1_ts1)])), transport(pk_6,city1_ts1,C) ],[],[ne(C,city2_ts1)]), [ ss(package,pk_1, [at(pk_1,city3_cl1), uncertified(pk_1)]), ss(package,pk_2, [at(pk_2,city3_cl1), uncertified(pk_2)]), ss(package,pk_3, [at(pk_3,city3_cl1), uncertified(pk_3)]), ss(package,pk_4, [at(pk_4,city1_cl1), uncertified(pk_4)]), ss(package,pk_5, [at(pk_5,city3_cl1), uncertified(pk_5)]), ss(package,pk_6, [at(pk_6,city1_ts1), uncertified(pk_6)]), ss(truck,truck_1, [at(truck_1,city1_cl1), available(truck_1)]), ss(truck,truck_11, [at(truck_11,city1_cl1), moveable(truck_11), available(truck_11)]), ss(truck,truck_2, [at(truck_2,city2_cl1), moveable(truck_2), available(truck_2)]), ss(truck,truck_22, [at(truck_22,city2_cl1), moveable(truck_22), available(truck_22)]), ss(truck,truck_3, [at(truck_3,city3_cl1), moveable(truck_3), available(truck_3)]), ss(truck,truck_33, [at(truck_33,city3_cl1), moveable(truck_33), available(truck_33)]), ss(traincar,traincar1, [at(traincar1,city2_ts1), unattached(traincar1), moveable(traincar1),available(traincar1)]), ss(train,train2, [at(train2,city2_ts1), unattached(train2), moveable(train2),available(train2)]), ss(train,train1, [at(train1,city1_ts1), unattached(train1), moveable(train1),available(train1)]) ] ). /******* BEGIN BEGIN BEGIN FILE task 7: CPU Time = 80 TIME TAKEN = 0.08 SECONDS Solution SIZE = 9 Operator Used = 14 TASK 7 SOLUTION attach_traincar(train2,traincar1,city2_ts1) pull_traincar(train2,traincar1,city2_ts1,city1_ts1,rail_route_2) pay_fees(pk_6) commission(traincar1) load_package(pk_6,traincar1,city1_ts1) pull_traincar(train2,traincar1,city1_ts1,city3_ts1,rail_route_3) detach_traincar(train2,traincar1,city3_ts1) unload_package(pk_6,traincar1,city3_ts1) deliver(pk_6,city3_ts1) END END END FILE *****/ htn_task(8,goal([ transport(pk_6,city1_ts1,city2_ts1) ],[],[]), [ ss(package,pk_1, [at(pk_1,city3_cl1), uncertified(pk_1)]), ss(package,pk_2, [at(pk_2,city3_cl1), uncertified(pk_2)]), ss(package,pk_3, [at(pk_3,city3_cl1), uncertified(pk_3)]), ss(package,pk_4, [at(pk_4,city1_cl1), uncertified(pk_4)]), ss(package,pk_5, [at(pk_5,city3_cl1), uncertified(pk_5)]), ss(package,pk_6, [at(pk_6,city1_ts1), uncertified(pk_6)]), ss(truck,truck_1, [at(truck_1,city1_cl1), available(truck_1)]), ss(truck,truck_11, [at(truck_11,city1_cl1), moveable(truck_11), available(truck_11)]), ss(truck,truck_2, [at(truck_2,city2_cl1), moveable(truck_2), available(truck_2)]), ss(truck,truck_22, [at(truck_22,city2_cl1), moveable(truck_22), available(truck_22)]), ss(truck,truck_3, [at(truck_3,city3_cl1), moveable(truck_3), available(truck_3)]), ss(truck,truck_33, [at(truck_33,city3_cl1), moveable(truck_33), available(truck_33)]), ss(traincar,traincar1, [at(traincar1,city2_ts1), unattached(traincar1), moveable(traincar1),available(traincar1)]), ss(train,train2, [at(train2,city2_ts1), unattached(train2), moveable(train2),available(train2)]), ss(train,train1, [at(train1,city1_ts1), unattached(train1), moveable(train1),available(train1)]) ] ). /******* BEGIN BEGIN BEGIN FILE task 8: CPU Time = 90 TIME TAKEN = 0.09 SECONDS Solution SIZE = 9 Operator Used = 12 TASK 8 SOLUTION pay_fees(pk_6) attach_traincar(train2,traincar1,city2_ts1) pull_traincar(train2,traincar1,city2_ts1,city1_ts1,rail_route_2) commission(traincar1) load_package(pk_6,traincar1,city1_ts1) pull_traincar(train2,traincar1,city1_ts1,city2_ts1,rail_route_2) detach_traincar(train2,traincar1,city2_ts1) unload_package(pk_6,traincar1,city2_ts1) deliver(pk_6,city2_ts1) END END END FILE *****/ htn_task(9,goal([ transport(pk_2,city3_cl1,city1_cl1), transport(pk_4,city1_cl1,city2_cl1), transport(pk_1,city3_cl1,city1_cl1)],[],[]), [ ss(package,pk_1, [at(pk_1,city3_cl1), uncertified(pk_1)]), ss(package,pk_2, [at(pk_2,city3_cl1), uncertified(pk_2)]), ss(package,pk_3, [at(pk_3,city3_cl1), uncertified(pk_3)]), ss(package,pk_4, [at(pk_4,city1_cl1), uncertified(pk_4)]), ss(package,pk_5, [at(pk_5,city3_cl1), uncertified(pk_5)]), ss(package,pk_6, [at(pk_6,city1_ts1), uncertified(pk_6)]), ss(truck,truck_1, [at(truck_1,city1_cl1), available(truck_1)]), ss(truck,truck_11, [at(truck_11,city1_cl1), moveable(truck_11), available(truck_11)]), ss(truck,truck_2, [at(truck_2,city2_cl1), moveable(truck_2), available(truck_2)]), ss(truck,truck_22, [at(truck_22,city2_cl1), moveable(truck_22), available(truck_22)]), ss(truck,truck_3, [at(truck_3,city3_cl1), moveable(truck_3), available(truck_3)]), ss(truck,truck_33, [at(truck_33,city3_cl1), moveable(truck_33), available(truck_33)]), ss(traincar,traincar1, [at(traincar1,city2_ts1), unattached(traincar1), moveable(traincar1),available(traincar1)]), ss(train,train2, [at(train2,city2_ts1), unattached(train2), moveable(train2),available(train2)]), ss(train,train1, [at(train1,city1_ts1), unattached(train1), moveable(train1),available(train1)]) ] ). /******* BEGIN BEGIN BEGIN FILE task 9: CPU Time = 50 TIME TAKEN = 0.05 SECONDS Solution SIZE = 18 Operator Used = 27 TASK 9 SOLUTION pay_fees(pk_1) commission(truck_3) load_package(pk_1,truck_3,city3_cl1) move(truck_3,city3_cl1,city1_cl1,road_route_31) unload_package(pk_1,truck_3,city1_cl1) deliver(pk_1,city1_cl1) pay_fees(pk_4) commission(truck_1) load_package(pk_4,truck_1,city1_cl1) move(truck_1,city1_cl1,city2_cl1,road_route_21) unload_package(pk_4,truck_1,city2_cl1) deliver(pk_4,city2_cl1) pay_fees(pk_2) commission(truck_33) load_package(pk_2,truck_33,city3_cl1) move(truck_33,city3_cl1,city1_cl1,road_route_31) unload_package(pk_2,truck_33,city1_cl1) deliver(pk_2,city1_cl1) END END END FILE *****/ htn_task(10,goal([ achieve(ss(traincar,traincar1,[at(traincar1,city1_ts1)])), transport(pk_1,city3_cl1,city2_cl1), achieve(ss(package,pk_5,[at(pk_5,X),delivered(pk_5)] )) ], [before(1,3)], [serves(X,city3)]), [ ss(package,pk_1, [at(pk_1,city3_cl1), uncertified(pk_1)]), ss(package,pk_2, [at(pk_2,city3_cl1), uncertified(pk_2)]), ss(package,pk_3, [at(pk_3,city3_cl1), uncertified(pk_3)]), ss(package,pk_4, [at(pk_4,city1_cl1), uncertified(pk_4)]), ss(package,pk_5, [at(pk_5,city3_cl1), uncertified(pk_5)]), ss(package,pk_6, [at(pk_6,city1_ts1), uncertified(pk_6)]), ss(truck,truck_1, [at(truck_1,city1_cl1), available(truck_1)]), ss(truck,truck_11, [at(truck_11,city1_cl1), moveable(truck_11), available(truck_11)]), ss(truck,truck_2, [at(truck_2,city2_cl1), moveable(truck_2), available(truck_2)]), ss(truck,truck_22, [at(truck_22,city2_cl1), moveable(truck_22), available(truck_22)]), ss(truck,truck_3, [at(truck_3,city3_cl1), moveable(truck_3), available(truck_3)]), ss(truck,truck_33, [at(truck_33,city3_cl1), moveable(truck_33), available(truck_33)]), ss(traincar,traincar1, [at(traincar1,city2_ts1), unattached(traincar1), moveable(traincar1),available(traincar1)]), ss(train,train2, [at(train2,city2_ts1), unattached(train2), moveable(train2),available(train2)]), ss(train,train1, [at(train1,city1_ts1), unattached(train1), moveable(train1),available(train1)]) ] ). /******* BEGIN BEGIN BEGIN FILE task 10: CPU Time = 150 TIME TAKEN = 0.15 SECONDS Solution SIZE = 14 Operator Used = 21 TASK 10 SOLUTION attach_traincar(train2,traincar1,city2_ts1) pull_traincar(train2,traincar1,city2_ts1,city1_ts1,rail_route_2) pay_fees(pk_5) commission(truck_3) load_package(pk_5,truck_3,city3_cl1) move_local(truck_3,city3_cl1,city3_ts1) unload_package(pk_5,truck_3,city3_ts1) deliver(pk_5,city3_ts1) pay_fees(pk_1) commission(truck_33) load_package(pk_1,truck_33,city3_cl1) move(truck_33,city3_cl1,city2_cl1,road_route_32) unload_package(pk_1,truck_33,city2_cl1) deliver(pk_1,city2_cl1) END END END FILE *****/ htn_task(11,goal([ achieve(ss(traincar,traincar1,[at(traincar1,city1_ts1)])), transport(pk_1,city3_cl1,city2_cl1), transport(pk_3,city3_cl1,city1_cl1), achieve(ss(package,pk_5,[at(pk_5,X),delivered(pk_5)] )) ], [before(1,3),before(2,3)], [serves(X,city3)]), [ ss(package,pk_1, [at(pk_1,city3_cl1), uncertified(pk_1)]), ss(package,pk_2, [at(pk_2,city3_cl1), uncertified(pk_2)]), ss(package,pk_3, [at(pk_3,city3_cl1), uncertified(pk_3)]), ss(package,pk_4, [at(pk_4,city1_cl1), uncertified(pk_4)]), ss(package,pk_5, [at(pk_5,city3_cl1), uncertified(pk_5)]), ss(package,pk_6, [at(pk_6,city1_ts1), uncertified(pk_6)]), ss(truck,truck_1, [at(truck_1,city1_cl1), available(truck_1)]), ss(truck,truck_11, [at(truck_11,city1_cl1), moveable(truck_11), available(truck_11)]), ss(truck,truck_2, [at(truck_2,city2_cl1), moveable(truck_2), available(truck_2)]), ss(truck,truck_22, [at(truck_22,city2_cl1), moveable(truck_22), available(truck_22)]), ss(truck,truck_3, [at(truck_3,city3_cl1), moveable(truck_3), available(truck_3)]), ss(truck,truck_33, [at(truck_33,city3_cl1), moveable(truck_33), available(truck_33)]), ss(traincar,traincar1, [at(traincar1,city2_ts1), unattached(traincar1), moveable(traincar1),available(traincar1)]), ss(train,train2, [at(train2,city2_ts1), unattached(train2), moveable(train2),available(train2)]), ss(train,train1, [at(train1,city1_ts1), unattached(train1), moveable(train1),available(train1)]) ] ). /******* BEGIN BEGIN BEGIN FILE task 11: CPU Time = 190 TIME TAKEN = 0.19 SECONDS Solution SIZE = 21 Operator Used = 30 TASK 11 SOLUTION attach_traincar(train2,traincar1,city2_ts1) pull_traincar(train2,traincar1,city2_ts1,city1_ts1,rail_route_2) pay_fees(pk_5) commission(truck_3) load_package(pk_5,truck_3,city3_cl1) move_local(truck_3,city3_cl1,city3_ts1) unload_package(pk_5,truck_3,city3_ts1) deliver(pk_5,city3_ts1) pay_fees(pk_1) commission(truck_33) load_package(pk_1,truck_33,city3_cl1) move(truck_33,city3_cl1,city2_cl1,road_route_32) unload_package(pk_1,truck_33,city2_cl1) deliver(pk_1,city2_cl1) pay_fees(pk_3) move(truck_1,city1_cl1,city3_cl1,road_route_31) commission(truck_1) load_package(pk_3,truck_1,city3_cl1) move(truck_1,city3_cl1,city1_cl1,road_route_31) unload_package(pk_3,truck_1,city1_cl1) deliver(pk_3,city1_cl1) END END END FILE *****/ htn_task(12,goal([ achieve(ss(traincar,traincar1,[at(traincar1,city1_ts1)])), transport(pk_6,city1_ts1,C), transport(pk_1,city3_cl1,city2_cl1) ], [],[ne(C,city2_ts1)]), [ ss(package,pk_1, [at(pk_1,city3_cl1), uncertified(pk_1)]), ss(package,pk_2, [at(pk_2,city3_cl1), uncertified(pk_2)]), ss(package,pk_3, [at(pk_3,city3_cl1), uncertified(pk_3)]), ss(package,pk_4, [at(pk_4,city1_cl1), uncertified(pk_4)]), ss(package,pk_5, [at(pk_5,city3_cl1), uncertified(pk_5)]), ss(package,pk_6, [at(pk_6,city1_ts1), uncertified(pk_6)]), ss(truck,truck_1, [at(truck_1,city1_cl1), available(truck_1)]), ss(truck,truck_11, [at(truck_11,city1_cl1), moveable(truck_11), available(truck_11)]), ss(truck,truck_2, [at(truck_2,city2_cl1), moveable(truck_2), available(truck_2)]), ss(truck,truck_22, [at(truck_22,city2_cl1), moveable(truck_22), available(truck_22)]), ss(truck,truck_3, [at(truck_3,city3_cl1), moveable(truck_3), available(truck_3)]), ss(truck,truck_33, [at(truck_33,city3_cl1), moveable(truck_33), available(truck_33)]), ss(traincar,traincar1, [at(traincar1,city2_ts1), unattached(traincar1), moveable(traincar1),available(traincar1)]), ss(train,train2, [at(train2,city2_ts1), unattached(train2), moveable(train2),available(train2)]), ss(train,train1, [at(train1,city1_ts1), unattached(train1), moveable(train1),available(train1)]) ] ). /******* BEGIN BEGIN BEGIN FILE task 12: CPU Time = 100 TIME TAKEN = 0.1 SECONDS Solution SIZE = 15 Operator Used = 23 TASK 12 SOLUTION attach_traincar(train2,traincar1,city2_ts1) pull_traincar(train2,traincar1,city2_ts1,city1_ts1,rail_route_2) pay_fees(pk_1) commission(truck_3) load_package(pk_1,truck_3,city3_cl1) move(truck_3,city3_cl1,city2_cl1,road_route_32) unload_package(pk_1,truck_3,city2_cl1) deliver(pk_1,city2_cl1) pay_fees(pk_6) commission(traincar1) load_package(pk_6,traincar1,city1_ts1) pull_traincar(train2,traincar1,city1_ts1,city3_ts1,rail_route_3) detach_traincar(train2,traincar1,city3_ts1) unload_package(pk_6,traincar1,city3_ts1) deliver(pk_6,city3_ts1) END END END FILE *****/ htn_task(13,goal([ transport(pk_1,city3_cl1,city1_cl1), transport(pk_2,city3_cl1,city2_cl1), transport(pk_3,city3_cl1,city1_cl1), transport(pk_4,city1_cl1,city3_cl1)], [before(1,3),before(2,3) ],[]), [ ss(package,pk_1, [at(pk_1,city3_cl1), uncertified(pk_1)]), ss(package,pk_2, [at(pk_2,city3_cl1), uncertified(pk_2)]), ss(package,pk_3, [at(pk_3,city3_cl1), uncertified(pk_3)]), ss(package,pk_4, [at(pk_4,city1_cl1), uncertified(pk_4)]), ss(package,pk_5, [at(pk_5,city3_cl1), uncertified(pk_5)]), ss(package,pk_6, [at(pk_6,city1_ts1), uncertified(pk_6)]), ss(truck,truck_1, [at(truck_1,city1_cl1), available(truck_1)]), ss(truck,truck_11, [at(truck_11,city1_cl1), moveable(truck_11), available(truck_11)]), ss(truck,truck_2, [at(truck_2,city2_cl1), moveable(truck_2), available(truck_2)]), ss(truck,truck_22, [at(truck_22,city2_cl1), moveable(truck_22), available(truck_22)]), ss(truck,truck_3, [at(truck_3,city3_cl1), moveable(truck_3), available(truck_3)]), ss(truck,truck_33, [at(truck_33,city3_cl1), moveable(truck_33), available(truck_33)]), ss(traincar,traincar1, [at(traincar1,city2_ts1), unattached(traincar1), moveable(traincar1),available(traincar1)]), ss(train,train2, [at(train2,city2_ts1), unattached(train2), moveable(train2),available(train2)]), ss(train,train1, [at(train1,city1_ts1), unattached(train1), moveable(train1),available(train1)]) ] ). /******* BEGIN BEGIN BEGIN FILE task 13: CPU Time = 70 TIME TAKEN = 0.07 SECONDS Solution SIZE = 24 Operator Used = 36 TASK 13 SOLUTION pay_fees(pk_4) commission(truck_1) load_package(pk_4,truck_1,city1_cl1) move(truck_1,city1_cl1,city3_cl1,road_route_31) unload_package(pk_4,truck_1,city3_cl1) deliver(pk_4,city3_cl1) pay_fees(pk_2) commission(truck_1) load_package(pk_2,truck_1,city3_cl1) move(truck_1,city3_cl1,city2_cl1,road_route_32) unload_package(pk_2,truck_1,city2_cl1) deliver(pk_2,city2_cl1) pay_fees(pk_1) commission(truck_3) load_package(pk_1,truck_3,city3_cl1) move(truck_3,city3_cl1,city1_cl1,road_route_31) unload_package(pk_1,truck_3,city1_cl1) deliver(pk_1,city1_cl1) pay_fees(pk_3) commission(truck_33) load_package(pk_3,truck_33,city3_cl1) move(truck_33,city3_cl1,city1_cl1,road_route_31) unload_package(pk_3,truck_33,city1_cl1) deliver(pk_3,city1_cl1) END END END FILE *****/ htn_task(14,goal([ transport(Y,city3_cl1,city2_cl1), % hp1 transport(X,city3_cl1,city1_cl1)], % hp2 [before(1,2)], [ne(X,Y)]), [ ss(package,pk_1, [at(pk_1,city3_cl1), uncertified(pk_1)]), ss(package,pk_2, [at(pk_2,city3_cl1), uncertified(pk_2)]), ss(package,pk_3, [at(pk_3,city3_cl1), uncertified(pk_3)]), ss(package,pk_4, [at(pk_4,city1_cl1), uncertified(pk_4)]), ss(package,pk_5, [at(pk_5,city3_cl1), uncertified(pk_5)]), ss(package,pk_6, [at(pk_6,city1_ts1), uncertified(pk_6)]), ss(truck,truck_1, [at(truck_1,city1_cl1), available(truck_1)]), ss(truck,truck_11, [at(truck_11,city1_cl1), moveable(truck_11), available(truck_11)]), ss(truck,truck_2, [at(truck_2,city2_cl1), moveable(truck_2), available(truck_2)]), ss(truck,truck_22, [at(truck_22,city2_cl1), moveable(truck_22), available(truck_22)]), ss(truck,truck_3, [at(truck_3,city3_cl1), moveable(truck_3), available(truck_3)]), ss(truck,truck_33, [at(truck_33,city3_cl1), moveable(truck_33), available(truck_33)]), ss(traincar,traincar1, [at(traincar1,city2_ts1), unattached(traincar1), moveable(traincar1),available(traincar1)]), ss(train,train2, [at(train2,city2_ts1), unattached(train2), moveable(train2),available(train2)]), ss(train,train1, [at(train1,city1_ts1), unattached(train1), moveable(train1),available(train1)]) ] ). /******* BEGIN BEGIN BEGIN FILE task 14: CPU Time = 50 TIME TAKEN = 0.05 SECONDS Solution SIZE = 12 Operator Used = 18 TASK 14 SOLUTION pay_fees(pk_1) commission(truck_3) load_package(pk_1,truck_3,city3_cl1) move(truck_3,city3_cl1,city2_cl1,road_route_32) unload_package(pk_1,truck_3,city2_cl1) deliver(pk_1,city2_cl1) pay_fees(pk_2) commission(truck_33) load_package(pk_2,truck_33,city3_cl1) move(truck_33,city3_cl1,city1_cl1,road_route_31) unload_package(pk_2,truck_33,city1_cl1) deliver(pk_2,city1_cl1) END END END FILE *****/ htn_task(15,goal([ transport(pk_1,city3_cl1,city1_cl1), transport(pk_3,city3_cl1,city1_cl1), transport(pk_4,city1_cl1,city3_cl1), transport(pk_2,city3_cl1,CL) ], [], [in_city(CL,X),ne(X,city1)]), [ ss(package,pk_1, [at(pk_1,city3_cl1), uncertified(pk_1)]), ss(package,pk_2, [at(pk_2,city3_cl1), uncertified(pk_2)]), ss(package,pk_3, [at(pk_3,city3_cl1), uncertified(pk_3)]), ss(package,pk_4, [at(pk_4,city1_cl1), uncertified(pk_4)]), ss(package,pk_5, [at(pk_5,city3_cl1), uncertified(pk_5)]), ss(package,pk_6, [at(pk_6,city1_ts1), uncertified(pk_6)]), ss(truck,truck_1, [at(truck_1,city1_cl1), available(truck_1)]), ss(truck,truck_11, [at(truck_11,city1_cl1), moveable(truck_11), available(truck_11)]), ss(truck,truck_2, [at(truck_2,city2_cl1), moveable(truck_2), available(truck_2)]), ss(truck,truck_22, [at(truck_22,city2_cl1), moveable(truck_22), available(truck_22)]), ss(truck,truck_3, [at(truck_3,city3_cl1), moveable(truck_3), available(truck_3)]), ss(truck,truck_33, [at(truck_33,city3_cl1), moveable(truck_33), available(truck_33)]), ss(traincar,traincar1, [at(traincar1,city2_ts1), unattached(traincar1), moveable(traincar1),available(traincar1)]), ss(train,train2, [at(train2,city2_ts1), unattached(train2), moveable(train2),available(train2)]), ss(train,train1, [at(train1,city1_ts1), unattached(train1), moveable(train1),available(train1)]) ] ). /******* BEGIN BEGIN BEGIN FILE task 15: CPU Time = 80 TIME TAKEN = 0.08 SECONDS Solution SIZE = 24 Operator Used = 36 TASK 15 SOLUTION pay_fees(pk_2) commission(truck_3) load_package(pk_2,truck_3,city3_cl1) move_local(truck_3,city3_cl1,city3_ts1) unload_package(pk_2,truck_3,city3_ts1) deliver(pk_2,city3_ts1) pay_fees(pk_4) commission(truck_1) load_package(pk_4,truck_1,city1_cl1) move(truck_1,city1_cl1,city3_cl1,road_route_31) unload_package(pk_4,truck_1,city3_cl1) deliver(pk_4,city3_cl1) pay_fees(pk_3) commission(truck_1) load_package(pk_3,truck_1,city3_cl1) move(truck_1,city3_cl1,city1_cl1,road_route_31) unload_package(pk_3,truck_1,city1_cl1) deliver(pk_3,city1_cl1) pay_fees(pk_1) commission(truck_33) load_package(pk_1,truck_33,city3_cl1) move(truck_33,city3_cl1,city1_cl1,road_route_31) unload_package(pk_1,truck_33,city1_cl1) deliver(pk_1,city1_cl1) END END END FILE *****/ htn_task(16,goal([ transport(pk_1,city3_cl1,city1_cl1), transport(pk_2,city3_cl1,city2_cl1), transport(pk_3,city3_cl1,city1_cl1), transport(pk_4,city1_cl1,city3_cl1)], [ ],[ ]), [ ss(package,pk_1, [at(pk_1,city3_cl1), uncertified(pk_1)]), ss(package,pk_2, [at(pk_2,city3_cl1), uncertified(pk_2)]), ss(package,pk_3, [at(pk_3,city3_cl1), uncertified(pk_3)]), ss(package,pk_4, [at(pk_4,city1_cl1), uncertified(pk_4)]), ss(package,pk_5, [at(pk_5,city3_cl1), uncertified(pk_5)]), ss(package,pk_6, [at(pk_6,city1_ts1), uncertified(pk_6)]), ss(truck,truck_1, [at(truck_1,city1_cl1), available(truck_1)]), ss(truck,truck_11, [at(truck_11,city1_cl1), moveable(truck_11), available(truck_11)]), ss(truck,truck_2, [at(truck_2,city2_cl1), moveable(truck_2), available(truck_2)]), ss(truck,truck_22, [at(truck_22,city2_cl1), moveable(truck_22), available(truck_22)]), ss(truck,truck_3, [at(truck_3,city3_cl1), moveable(truck_3), available(truck_3)]), ss(truck,truck_33, [at(truck_33,city3_cl1), moveable(truck_33), available(truck_33)]), ss(traincar,traincar1, [at(traincar1,city2_ts1), unattached(traincar1), moveable(traincar1),available(traincar1)]), ss(train,train2, [at(train2,city2_ts1), unattached(train2), moveable(train2),available(train2)]), ss(train,train1, [at(train1,city1_ts1), unattached(train1), moveable(train1),available(train1)]) ] ). /******* BEGIN BEGIN BEGIN FILE task 16: CPU Time = 80 TIME TAKEN = 0.08 SECONDS Solution SIZE = 24 Operator Used = 36 TASK 16 SOLUTION pay_fees(pk_4) commission(truck_1) load_package(pk_4,truck_1,city1_cl1) move(truck_1,city1_cl1,city3_cl1,road_route_31) unload_package(pk_4,truck_1,city3_cl1) deliver(pk_4,city3_cl1) pay_fees(pk_3) commission(truck_1) load_package(pk_3,truck_1,city3_cl1) move(truck_1,city3_cl1,city1_cl1,road_route_31) unload_package(pk_3,truck_1,city1_cl1) deliver(pk_3,city1_cl1) pay_fees(pk_2) commission(truck_3) load_package(pk_2,truck_3,city3_cl1) move(truck_3,city3_cl1,city2_cl1,road_route_32) unload_package(pk_2,truck_3,city2_cl1) deliver(pk_2,city2_cl1) pay_fees(pk_1) commission(truck_33) load_package(pk_1,truck_33,city3_cl1) move(truck_33,city3_cl1,city1_cl1,road_route_31) unload_package(pk_1,truck_33,city1_cl1) deliver(pk_1,city1_cl1) END END END FILE *****/ htn_task(17,goal([ transport(pk_1,city3_cl1,city1_cl1), transport(pk_2,city3_cl1,city2_cl1), transport(pk_3,city3_cl1,city1_cl1), transport(pk_4,city1_cl1,city3_cl1), transport(pk_5,city3_cl1,city1_cl1) ], [ ],[ ]), [ ss(package,pk_1, [at(pk_1,city3_cl1), uncertified(pk_1)]), ss(package,pk_2, [at(pk_2,city3_cl1), uncertified(pk_2)]), ss(package,pk_3, [at(pk_3,city3_cl1), uncertified(pk_3)]), ss(package,pk_4, [at(pk_4,city1_cl1), uncertified(pk_4)]), ss(package,pk_5, [at(pk_5,city3_cl1), uncertified(pk_5)]), ss(package,pk_6, [at(pk_6,city1_ts1), uncertified(pk_6)]), ss(truck,truck_1, [at(truck_1,city1_cl1), available(truck_1)]), ss(truck,truck_11, [at(truck_11,city1_cl1), moveable(truck_11), available(truck_11)]), ss(truck,truck_2, [at(truck_2,city2_cl1), moveable(truck_2), available(truck_2)]), ss(truck,truck_22, [at(truck_22,city2_cl1), moveable(truck_22), available(truck_22)]), ss(truck,truck_3, [at(truck_3,city3_cl1), moveable(truck_3), available(truck_3)]), ss(truck,truck_33, [at(truck_33,city3_cl1), moveable(truck_33), available(truck_33)]), ss(traincar,traincar1, [at(traincar1,city2_ts1), unattached(traincar1), moveable(traincar1),available(traincar1)]), ss(train,train2, [at(train2,city2_ts1), unattached(train2), moveable(train2),available(train2)]), ss(train,train1, [at(train1,city1_ts1), unattached(train1), moveable(train1),available(train1)]) ] ). /******* BEGIN BEGIN BEGIN FILE task 17: CPU Time = 120 TIME TAKEN = 0.12 SECONDS Solution SIZE = 31 Operator Used = 45 TASK 17 SOLUTION pay_fees(pk_5) commission(truck_3) load_package(pk_5,truck_3,city3_cl1) move(truck_3,city3_cl1,city1_cl1,road_route_31) unload_package(pk_5,truck_3,city1_cl1) deliver(pk_5,city1_cl1) pay_fees(pk_4) commission(truck_1) load_package(pk_4,truck_1,city1_cl1) move(truck_1,city1_cl1,city3_cl1,road_route_31) unload_package(pk_4,truck_1,city3_cl1) deliver(pk_4,city3_cl1) pay_fees(pk_3) commission(truck_1) load_package(pk_3,truck_1,city3_cl1) move(truck_1,city3_cl1,city1_cl1,road_route_31) unload_package(pk_3,truck_1,city1_cl1) deliver(pk_3,city1_cl1) pay_fees(pk_2) commission(truck_33) load_package(pk_2,truck_33,city3_cl1) move(truck_33,city3_cl1,city2_cl1,road_route_32) unload_package(pk_2,truck_33,city2_cl1) deliver(pk_2,city2_cl1) pay_fees(pk_1) move(truck_1,city1_cl1,city3_cl1,road_route_31) commission(truck_1) load_package(pk_1,truck_1,city3_cl1) move(truck_1,city3_cl1,city1_cl1,road_route_31) unload_package(pk_1,truck_1,city1_cl1) deliver(pk_1,city1_cl1) END END END FILE *****/ htn_task(18,goal([achieve(ss(package,pk_1,[waiting(pk_1),certified(pk_1)])), carry_direct(pk_1,city3_cl1,city1_cl2)],[],[]), [ ss(package,pk_1, [at(pk_1,city3_cl1), uncertified(pk_1)]), ss(package,pk_2, [at(pk_2,city3_cl1), uncertified(pk_2)]), ss(package,pk_3, [at(pk_3,city3_cl1), uncertified(pk_3)]), ss(package,pk_4, [at(pk_4,city1_cl1), uncertified(pk_4)]), ss(package,pk_5, [at(pk_5,city3_cl1), uncertified(pk_5)]), ss(package,pk_6, [at(pk_6,city1_ts1), uncertified(pk_6)]), ss(truck,truck_1, [at(truck_1,city1_cl1), available(truck_1)]), ss(truck,truck_11, [at(truck_11,city1_cl1), moveable(truck_11), available(truck_11)]), ss(truck,truck_2, [at(truck_2,city2_cl1), moveable(truck_2), available(truck_2)]), ss(truck,truck_22, [at(truck_22,city2_cl1), moveable(truck_22), available(truck_22)]), ss(truck,truck_3, [at(truck_3,city3_cl1), moveable(truck_3), available(truck_3)]), ss(truck,truck_33, [at(truck_33,city3_cl1), moveable(truck_33), available(truck_33)]), ss(traincar,traincar1, [at(traincar1,city2_ts1), unattached(traincar1), moveable(traincar1),available(traincar1)]), ss(train,train2, [at(train2,city2_ts1), unattached(train2), moveable(train2),available(train2)]), ss(train,train1, [at(train1,city1_ts1), unattached(train1), moveable(train1),available(train1)]) ] ). /******* BEGIN BEGIN BEGIN FILE task 18: CPU Time = 20 TIME TAKEN = 0.02 SECONDS Solution SIZE = 5 Operator Used = 7 TASK 18 SOLUTION pay_fees(pk_1) commission(truck_3) load_package(pk_1,truck_3,city3_cl1) move(truck_3,city3_cl1,city1_cl2,road_route_31) unload_package(pk_1,truck_3,city1_cl2) END END END FILE *****/ htn_task(19,goal([ transport(pk_1,city3_cl1,city1_cl1), transport(pk_2,city3_cl1,city2_cl1), transport(pk_3,city3_cl1,city1_cl1), achieve(ss(traincar,traincar1,[at(traincar1,city1_ts1)])), transport(pk_4,city1_cl1,city3_cl1), transport(pk_5,city3_cl1,city1_cl1) ], [before(1,2),before(3,2)],[]), [ ss(package,pk_1, [at(pk_1,city3_cl1), uncertified(pk_1)]), ss(package,pk_2, [at(pk_2,city3_cl1), uncertified(pk_2)]), ss(package,pk_3, [at(pk_3,city3_cl1), uncertified(pk_3)]), ss(package,pk_4, [at(pk_4,city1_cl1), uncertified(pk_4)]), ss(package,pk_5, [at(pk_5,city3_cl1), uncertified(pk_5)]), ss(package,pk_6, [at(pk_6,city1_ts1), uncertified(pk_6)]), ss(truck,truck_1, [at(truck_1,city1_cl1), available(truck_1)]), ss(truck,truck_11, [at(truck_11,city1_cl1), moveable(truck_11), available(truck_11)]), ss(truck,truck_2, [at(truck_2,city2_cl1), moveable(truck_2), available(truck_2)]), ss(truck,truck_22, [at(truck_22,city2_cl1), moveable(truck_22), available(truck_22)]), ss(truck,truck_3, [at(truck_3,city3_cl1), moveable(truck_3), available(truck_3)]), ss(truck,truck_33, [at(truck_33,city3_cl1), moveable(truck_33), available(truck_33)]), ss(traincar,traincar1, [at(traincar1,city2_ts1), unattached(traincar1), moveable(traincar1),available(traincar1)]), ss(train,train2, [at(train2,city2_ts1), unattached(train2), moveable(train2),available(train2)]), ss(train,train1, [at(train1,city1_ts1), unattached(train1), moveable(train1),available(train1)]) ]). /******* BEGIN BEGIN BEGIN FILE task 19: CPU Time = 180 TIME TAKEN = 0.18 SECONDS Solution SIZE = 33 Operator Used = 48 TASK 19 SOLUTION attach_traincar(train2,traincar1,city2_ts1) pull_traincar(train2,traincar1,city2_ts1,city1_ts1,rail_route_2) pay_fees(pk_5) commission(truck_3) load_package(pk_5,truck_3,city3_cl1) move(truck_3,city3_cl1,city1_cl1,road_route_31) unload_package(pk_5,truck_3,city1_cl1) deliver(pk_5,city1_cl1) pay_fees(pk_4) commission(truck_1) load_package(pk_4,truck_1,city1_cl1) move(truck_1,city1_cl1,city3_cl1,road_route_31) unload_package(pk_4,truck_1,city3_cl1) deliver(pk_4,city3_cl1) pay_fees(pk_3) commission(truck_1) load_package(pk_3,truck_1,city3_cl1) move(truck_1,city3_cl1,city1_cl1,road_route_31) unload_package(pk_3,truck_1,city1_cl1) deliver(pk_3,city1_cl1) pay_fees(pk_1) commission(truck_33) load_package(pk_1,truck_33,city3_cl1) move(truck_33,city3_cl1,city1_cl1,road_route_31) unload_package(pk_1,truck_33,city1_cl1) deliver(pk_1,city1_cl1) pay_fees(pk_2) move(truck_1,city1_cl1,city3_cl1,road_route_31) commission(truck_1) load_package(pk_2,truck_1,city3_cl1) move(truck_1,city3_cl1,city2_cl1,road_route_32) unload_package(pk_2,truck_1,city2_cl1) deliver(pk_2,city2_cl1) END END END FILE *****/ htn_task(20,goal([ transport(pk_1,city3_cl1,city1_cl1), transport(pk_2,city3_cl1,city2_cl1), transport(pk_3,city3_cl1,city1_ts1), transport(pk_4,city1_cl1,city3_cl1), transport(pk_6,city1_ts1,city3_ts1), transport(pk_5,city3_cl1,city1_cl1) ], [before(1,2),before(3,2)],[]), [ ss(package,pk_1, [at(pk_1,city3_cl1), uncertified(pk_1)]), ss(package,pk_2, [at(pk_2,city3_cl1), uncertified(pk_2)]), ss(package,pk_3, [at(pk_3,city3_cl1), uncertified(pk_3)]), ss(package,pk_4, [at(pk_4,city1_cl1), uncertified(pk_4)]), ss(package,pk_5, [at(pk_5,city3_cl1), uncertified(pk_5)]), ss(package,pk_6, [at(pk_6,city1_ts1), uncertified(pk_6)]), ss(truck,truck_1, [at(truck_1,city1_cl1), available(truck_1)]), ss(truck,truck_11, [at(truck_11,city1_cl1), moveable(truck_11), available(truck_11)]), ss(truck,truck_2, [at(truck_2,city2_cl1), moveable(truck_2), available(truck_2)]), ss(truck,truck_22, [at(truck_22,city2_cl1), moveable(truck_22), available(truck_22)]), ss(truck,truck_3, [at(truck_3,city3_cl1), moveable(truck_3), available(truck_3)]), ss(truck,truck_33, [at(truck_33,city3_cl1), moveable(truck_33), available(truck_33)]), ss(traincar,traincar1, [at(traincar1,city2_ts1), unattached(traincar1), moveable(traincar1),available(traincar1)]), ss(train,train2, [at(train2,city2_ts1), unattached(train2), moveable(train2),available(train2)]), ss(train,train1, [at(train1,city1_ts1), unattached(train1), moveable(train1),available(train1)]) ]). /******* BEGIN BEGIN BEGIN FILE task 20: CPU Time = 200 TIME TAKEN = 0.2 SECONDS Solution SIZE = 40 Operator Used = 57 TASK 20 SOLUTION pay_fees(pk_5) commission(truck_3) load_package(pk_5,truck_3,city3_cl1) move(truck_3,city3_cl1,city1_cl1,road_route_31) unload_package(pk_5,truck_3,city1_cl1) deliver(pk_5,city1_cl1) pay_fees(pk_6) attach_traincar(train2,traincar1,city2_ts1) pull_traincar(train2,traincar1,city2_ts1,city1_ts1,rail_route_2) commission(traincar1) load_package(pk_6,traincar1,city1_ts1) pull_traincar(train2,traincar1,city1_ts1,city3_ts1,rail_route_3) detach_traincar(train2,traincar1,city3_ts1) unload_package(pk_6,traincar1,city3_ts1) deliver(pk_6,city3_ts1) pay_fees(pk_4) commission(truck_1) load_package(pk_4,truck_1,city1_cl1) move(truck_1,city1_cl1,city3_cl1,road_route_31) unload_package(pk_4,truck_1,city3_cl1) deliver(pk_4,city3_cl1) pay_fees(pk_3) commission(truck_1) load_package(pk_3,truck_1,city3_cl1) move(truck_1,city3_cl1,city1_ts1,road_route_31) unload_package(pk_3,truck_1,city1_ts1) deliver(pk_3,city1_ts1) pay_fees(pk_1) commission(truck_33) load_package(pk_1,truck_33,city3_cl1) move(truck_33,city3_cl1,city1_cl1,road_route_31) unload_package(pk_1,truck_33,city1_cl1) deliver(pk_1,city1_cl1) pay_fees(pk_2) move(truck_1,city1_ts1,city3_cl1,road_route_31) commission(truck_1) load_package(pk_2,truck_1,city3_cl1) move(truck_1,city3_cl1,city2_cl1,road_route_32) unload_package(pk_2,truck_1,city2_cl1) deliver(pk_2,city2_cl1) END END END FILE *****/ htn_task(21,goal([ transport(pk_5,city3_cl1,city3_ts1)], [],[]), [ ss(package,pk_1, [at(pk_1,city3_cl1), uncertified(pk_1)]), ss(package,pk_2, [at(pk_2,city3_cl1), uncertified(pk_2)]), ss(package,pk_3, [at(pk_3,city3_cl1), uncertified(pk_3)]), ss(package,pk_4, [at(pk_4,city1_cl1), uncertified(pk_4)]), ss(package,pk_5, [at(pk_5,city3_cl1), uncertified(pk_5)]), ss(package,pk_6, [at(pk_6,city1_ts1), uncertified(pk_6)]), ss(truck,truck_1, [at(truck_1,city1_cl1), available(truck_1)]), ss(truck,truck_11, [at(truck_11,city1_cl1), moveable(truck_11), available(truck_11)]), ss(truck,truck_2, [at(truck_2,city2_cl1), moveable(truck_2), available(truck_2)]), ss(truck,truck_22, [at(truck_22,city2_cl1), moveable(truck_22), available(truck_22)]), ss(truck,truck_3, [at(truck_3,city3_cl1), moveable(truck_3), available(truck_3)]), ss(truck,truck_33, [at(truck_33,city3_cl1), moveable(truck_33), available(truck_33)]), ss(traincar,traincar1, [at(traincar1,city2_ts1), unattached(traincar1), moveable(traincar1),available(traincar1)]), ss(train,train2, [at(train2,city2_ts1), unattached(train2), moveable(train2),available(train2)]), ss(train,train1, [at(train1,city1_ts1), unattached(train1), moveable(train1),available(train1)])] ). % /******* BEGIN BEGIN BEGIN FILE total time 1.86 seconds total size 335 yes {source_info} */ :-dmsg('loaded whgole file').