Skip to content

Repository files navigation

StochasticOrienteering

GNN-aided MCTS solving Stochastic Orienteering Problems

Execution is supported by Python 3.11.5. A Dockerfile is provided to recreate working operating environment.

After cloning, update the submodule to get the GNN specific implementation:

git submodule update --init

Docker

To execute prebuilt environment, run make build to build the Docker image. Second, run make bash to create a shell. This will give you a pretested environment from which to run the experiments.

MCTS Orienteering Solver

Once within the Docker shell, you can execute the MCTS Orienteering solver configured by orienteering/config/config.yaml by running make run. However, if you wish to make your own configuration run the following:

python3 ./orienteering/orienteering.py --config \<path_to_your_config\>

Current MCTS Configuration

Currently, you will only be running MCTS with a model. The reason being that the model configuration cannot be used with the base MCTS configuration because of how different the configurations are. value_model: './data/models/orienteering/value/prod/nmpn_10' represents a neural message passing value network trained on graphs of size 10. This can be used to run on graphs of size 20, but had limited performance on graphs of larger size.

The current graph being tested on is ./data/graphs/graph_test_20_complete.pkl, which is the same graph used in the MCTS-SOPCC paper for size 20.

Again, simple build the container, bash into it, and then make run to execute the above configuration. Specifics can be seen in orienteering/config/config.yaml.

Results

NMPN_10

NOTE: these times are not reliable as they're run on my local laptop, but they should be of the same magnitude as realistic times All tests below run on graph_test_20 from MCTS_SOPCC paper:

50 graph_test_20 NMPN, c=3, 20 exp, k=15 ,pf=0.025 INFO:root:Average reward with model: 4.73 INFO:root:Average runtime: 3.661s INFO:root:Unsolved with model: 16.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=15 ,pf=0.02 INFO:root:Average reward with model: 4.442 INFO:root:Average runtime: 3.607s INFO:root:Unsolved with model: 12.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=15 ,pf=0.015 INFO:root:Average reward with model: 4.016 INFO:root:Average runtime: 3.48s INFO:root:Unsolved with model: 8.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=15 ,pf=0.01 INFO:root:Average reward with model: 3.983 INFO:root:Average runtime: 3.568s INFO:root:Unsolved with model: 8.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=15 ,pf=0.005 INFO:root:Average reward with model: 3.704 INFO:root:Average runtime: 3.262s INFO:root:Unsolved with model: 0.0%

50 random 30 node graphs NMPN, c=3, 20 exp, k=15, pf=0.0 INFO:root:Average reward with model: 2.608 INFO:root:Average runtime: 1.134s INFO:root:Unsolved with model: 14.0%

50 random 30 node graphs NMPN, c=3, 20 exp, k=15, pf=-0.01 INFO:root:Average reward with model: 2.036 INFO:root:Average runtime: 0.863s INFO:root:Unsolved with model: 4.0%

NMPN_20

NOTE: trained on just size 20 graphs -> 6k solutions

50 graph_test_20 NMPN, c=3, 20 exp, k=1 ,pf=0.2 INFO:root:Average reward with model: 4.87 INFO:root:Average runtime: 0.308s INFO:root:Unsolved with model: 14.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=1 ,pf=0.15 INFO:root:Average reward with model: 4.824 INFO:root:Average runtime: 0.333s INFO:root:Unsolved with model: 4.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=1 ,pf=0.1 INFO:root:Average reward with model: 4.462 INFO:root:Average runtime: 0.308s INFO:root:Unsolved with model: 0.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=15 ,pf=0.01 INFO:root:Average reward with model: 4.741 INFO:root:Average runtime: 3.72s INFO:root:Unsolved with model: 18.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=15 ,pf=0.005 INFO:root:Average reward with model: 4.155 INFO:root:Average runtime: 3.456s INFO:root:Unsolved with model: 6.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=15 ,pf=0.0025 INFO:root:Average reward with model: 3.371 INFO:root:Average runtime: 2.845s INFO:root:Unsolved with model: 0.0%

50 graph_test_20 base MCTS, c=3, 1 exp, s=200, k=500 ,pf=0.05 -> BUDGET = 2 INFO:root:Average reward: 4.872 INFO:root:Average runtime: 23.244s INFO:root:Unsolved without model: 4.0%

50 graph_test_20 base MCTS, c=3, 1 exp, s=200, k=500 ,pf=0.1 -> BUDGET = 2 INFO:root:Average reward: 4.948 INFO:root:Average runtime: 39.108s INFO:root:Unsolved without model: 10.0%

NOTE: these tests were using a model trained starting with the weights from nmpn_10.

50 graph_test_20 NMPN, c=3, 20 exp, k=1 ,pf=0.1 INFO:root:Average reward with model: 4.046 INFO:root:Average runtime: 0.296s INFO:root:Unsolved with model: 2.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=1 ,pf=0.15 INFO:root:Average reward with model: 4.399 INFO:root:Average runtime: 0.335s INFO:root:Unsolved with model: 2.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=1 ,pf=0.2 INFO:root:Average reward with model: 4.499 INFO:root:Average runtime: 0.307s INFO:root:Unsolved with model: 6.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=1 ,pf=0.3 INFO:root:Average reward with model: 4.655 INFO:root:Average runtime: 0.314s INFO:root:Unsolved with model: 10.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=15 ,pf=0.025 INFO:root:Average reward with model: 4.757 INFO:root:Average runtime: 3.862s INFO:root:Unsolved with model: 38.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=15 ,pf=0.01 INFO:root:Average reward with model: 3.296 INFO:root:Average runtime: 3.048s INFO:root:Unsolved with model: 4.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=15 ,pf=0.005 INFO:root:Average reward with model: 2.585 INFO:root:Average runtime: 2.261s INFO:root:Unsolved with model: 6.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.1 INFO:root:Average reward with model: 2.695 INFO:root:Average runtime: 0.252s INFO:root:Unsolved with model: 6.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.15 INFO:root:Average reward with model: 3.107 INFO:root:Average runtime: 0.289s INFO:root:Unsolved with model: 8.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.2 INFO:root:Average reward with model: 3.285 INFO:root:Average runtime: 0.294s INFO:root:Unsolved with model: 30.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.15, BUDGET = 3 INFO:root:Average reward with model: 4.774 INFO:root:Average runtime: 0.395s INFO:root:Unsolved with model: 2.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.2, BUDGET = 3 INFO:root:Average reward with model: 4.882 INFO:root:Average runtime: 0.42s INFO:root:Unsolved with model: 12.0%

NOTE: these tests are for budget generalization

50 graph_test_20 base MCTS, c=3, 1 exp, s=200, k=500 ,pf=0.1 -> BUDGET = 3 INFO:root:Average reward: 5.478 INFO:root:Average runtime: 46.092s INFO:root:Unsolved without model: 8.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=1 ,pf=0.2 -> BUDGET = 3 INFO:root:Average reward with model: 5.565 INFO:root:Average runtime: 0.372s INFO:root:Unsolved with model: 16.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=1 ,pf=0.15 -> BUDGET = 3 INFO:root:Average reward with model: 5.409 INFO:root:Average runtime: 0.366s INFO:root:Unsolved with model: 6.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=1 ,pf=0.1 -> BUDGET = 3 INFO:root:Average reward with model: 5.047 INFO:root:Average runtime: 0.357s INFO:root:Unsolved with model: 2.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=15 ,pf=0.01 -> BUDGET = 3 INFO:root:Average reward with model: 5.341 INFO:root:Average runtime: 4.408s INFO:root:Unsolved with model: 8.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=15 ,pf=0.005 -> BUDGET = 3 INFO:root:Average reward with model: 5.347 INFO:root:Average runtime: 4.289s INFO:root:Unsolved with model: 4.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=15 ,pf=-0.015 -> BUDGET = 3 INFO:root:Average reward with model: 2.961 INFO:root:Average runtime: 2.664s INFO:root:Unsolved with model: 2.0%

NOTE: running against graph 30 from MCTS SOPCC paper

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.15 INFO:root:Average reward with model: 4.779 INFO:root:Average runtime: 0.434s INFO:root:Unsolved with model: 34.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.1 INFO:root:Average reward with model: 4.066 INFO:root:Average runtime: 0.366s INFO:root:Unsolved with model: 18.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.075 INFO:root:Average reward with model: 3.04 INFO:root:Average runtime: 0.291s INFO:root:Unsolved with model: 14.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=20 ,pf=0.015 INFO:root:Average reward with model: 2.663 INFO:root:Average runtime: 3.543s INFO:root:Unsolved with model: 24.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=20 ,pf=0.01 INFO:root:Average reward with model: 1.796 INFO:root:Average runtime: 2.443s INFO:root:Unsolved with model: 8.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=100 ,pf=0.0075 INFO:root:Average reward with model: 2.574 INFO:root:Average runtime: 15.724s INFO:root:Unsolved with model: 32.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.1, BUDGET = 3 INFO:root:Average reward with model: 5.77 INFO:root:Average runtime: 0.467s INFO:root:Unsolved with model: 22.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.09, BUDGET = 3 INFO:root:Average reward with model: 5.501 INFO:root:Average runtime: 0.448s INFO:root:Unsolved with model: 12.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.075, BUDGET = 3 INFO:root:Average reward with model: 4.831 INFO:root:Average runtime: 0.413s INFO:root:Unsolved with model: 6.0%

50 graph_test_40 NMPN, c=3, 40 exp, k=1 ,pf=0.1 INFO:root:Average reward with model: 5.295 INFO:root:Average runtime: 0.539s INFO:root:Unsolved with model: 54.0%

50 graph_test_40 NMPN, c=3, 40 exp, k=1 ,pf=0.1, BUDGET = 3 INFO:root:Average reward with model: 6.416 INFO:root:Average runtime: 0.62s INFO:root:Unsolved with model: 28.0%

NOTE: ablation study

Note that in these tests, the models trained 100 epochs faster with edge data, as well. 60 vs 160.

1 EDGE ATTR -> demonstrate failure:

50 graph_test_20 NMPN, c=3, 20 exp, k=1 ,pf=0.2 -> BUDGET = 2 INFO:root:Average reward with model: 4.254 INFO:root:Average runtime: 0.313s INFO:root:Unsolved with model: 6.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=1 ,pf=0.15 -> BUDGET = 2 INFO:root:Average reward with model: 4.058 INFO:root:Average runtime: 0.266s INFO:root:Unsolved with model: 6.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=1 ,pf=0.1 -> BUDGET = 2 INFO:root:Average reward with model: 3.803 INFO:root:Average runtime: 0.273s INFO:root:Unsolved with model: 2.0%

5 NODE ATTR -> demonstrate Q value loss:

50 graph_test_20 NMPN, c=3, 20 exp, k=1 ,pf=0.2 -> BUDGET = 2 INFO:root:Average reward with model: 3.528 INFO:root:Average runtime: 0.263s INFO:root:Unsolved with model: 44.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=1 ,pf=0.15 -> BUDGET = 2 INFO:root:Average reward with model: 3.412 INFO:root:Average runtime: 0.234s INFO:root:Unsolved with model: 42.0%

50 graph_test_20 NMPN, c=3, 20 exp, k=1 ,pf=0.1 -> BUDGET = 2 INFO:root:Average reward with model: 3.217 INFO:root:Average runtime: 0.222s INFO:root:Unsolved with model: 28.0%

NMPN_30

50 graph_test_30 base MCTS, c=3, 1 exp, s=200, k=500 ,pf=0.15 -> BUDGET=2 INFO:root:Average reward: 5.341 INFO:root:Average runtime: 195.093s INFO:root:Unsolved without model: 18.0%

50 graph_test_30 base MCTS, c=3, 1 exp, s=200, k=500 ,pf=0.1 -> BUDGET=2 INFO:root:Average reward: 5.265 INFO:root:Average runtime: 115.836s INFO:root:Unsolved without model: 6.0%

50 graph_test_30 base MCTS, c=3, 1 exp, s=200, k=500 ,pf=0.05 -> BUDGET=2 INFO:root:Average reward: 4.972 INFO:root:Average runtime: 111.293s INFO:root:Unsolved without model: 2.0%

50 graph_test_30 base MCTS, c=3, 1 exp, s=200, k=500 ,pf=0.1 -> BUDGET=3 INFO:root:Average reward: 6.648 INFO:root:Average runtime: 263.828s INFO:root:Unsolved without model: 8.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.1 INFO:root:Average reward with model: 4.073 INFO:root:Average runtime: 0.373s INFO:root:Unsolved with model: 0.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.15 INFO:root:Average reward with model: 4.495 INFO:root:Average runtime: 0.403s INFO:root:Unsolved with model: 4.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.2 INFO:root:Average reward with model: 4.847 INFO:root:Average runtime: 0.424s INFO:root:Unsolved with model: 10.0%

old results k > 1

50 graph_test_30 NMPN, c=1.44, 30 exp, k=75 ,pf=0.025 INFO:root:Average reward with model: 2.954 INFO:root:Average runtime: 13.266s INFO:root:Unsolved with model: 20.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=30 ,pf=0.035 INFO:root:Average reward with model: 3.425 INFO:root:Average runtime: 6.906s INFO:root:Unsolved with model: 16.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=15 ,pf=0.05 INFO:root:Average reward with model: 5.12 INFO:root:Average runtime: 4.899s INFO:root:Unsolved with model: 42.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=15 ,pf=0.045 INFO:root:Average reward with model: 4.792 INFO:root:Average runtime: 4.624s INFO:root:Unsolved with model: 20.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=15 ,pf=0.0425 INFO:root:Average reward with model: 4.545 INFO:root:Average runtime: 4.353s INFO:root:Unsolved with model: 28.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=15 ,pf=0.04 INFO:root:Average reward with model: 3.747 INFO:root:Average runtime: 3.619s INFO:root:Unsolved with model: 14.0%

50 random 30 graphs NMPN, c=3, 30 exp, k=15, pf=0.01 INFO:root:Average reward with model: 4.707 INFO:root:Average runtime: 3.209s INFO:root:Unsolved with model: 20.0%

50 random 30 graphs NMPN, c=3, 30 exp, k=15, pf=0.005 INFO:root:Average reward with model: 4.132 INFO:root:Average runtime: 2.843s INFO:root:Unsolved with model: 12.0%

NOTE: these tests were done with 200 samples, S

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.1 INFO:root:Average reward with model: 4.246 INFO:root:Average runtime: 0.381s INFO:root:Unsolved with model: 0.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.15 INFO:root:Average reward with model: 4.64 INFO:root:Average runtime: 0.393s INFO:root:Unsolved with model: 6.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.2 INFO:root:Average reward with model: 4.608 INFO:root:Average runtime: 0.398s INFO:root:Unsolved with model: 10.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.25 INFO:root:Average reward with model: 4.825 INFO:root:Average runtime: 0.413s INFO:root:Unsolved with model: 8.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.325 INFO:root:Average reward with model: 5.134 INFO:root:Average runtime: 0.429s INFO:root:Unsolved with model: 20.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.40 INFO:root:Average reward with model: 5.326 INFO:root:Average runtime: 0.445s INFO:root:Unsolved with model: 26.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=10 ,pf=0.025 INFO:root:Average reward with model: 4.661 INFO:root:Average runtime: 2.934s INFO:root:Unsolved with model: 16.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=15 ,pf=0.035 INFO:root:Average reward with model: 5.079 INFO:root:Average runtime: 4.858s INFO:root:Unsolved with model: 16.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=15 ,pf=0.03 INFO:root:Average reward with model: 4.55 INFO:root:Average runtime: 4.241s INFO:root:Unsolved with model: 18.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=30 ,pf=0.01 INFO:root:Average reward with model: 3.883 INFO:root:Average runtime: 7.598s INFO:root:Unsolved with model: 6.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=30 ,pf=0.02 INFO:root:Average reward with model: 4.263 INFO:root:Average runtime: 8.808s INFO:root:Unsolved with model: 12.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=50 ,pf=0.025 INFO:root:Average reward with model: 4.829 INFO:root:Average runtime: 15.703s INFO:root:Unsolved with model: 14.0%

NOTE: generalization tests

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.3, BUDGET = 3 INFO:root:Average reward with model: 6.933 INFO:root:Average runtime: 0.598s INFO:root:Unsolved with model: 20.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.25, BUDGET = 3 INFO:root:Average reward with model: 6.506 INFO:root:Average runtime: 0.539s INFO:root:Unsolved with model: 12.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.2, BUDGET = 3 INFO:root:Average reward with model: 6.409 INFO:root:Average runtime: 0.547s INFO:root:Unsolved with model: 8.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.15, BUDGET = 3 INFO:root:Average reward with model: 6.359 INFO:root:Average runtime: 0.519s INFO:root:Unsolved with model: 4.0%

50 graph_test_30 NMPN, c=3, 30 exp, k=1 ,pf=0.1, BUDGET = 3 INFO:root:Average reward with model: 5.88 INFO:root:Average runtime: 0.513s INFO:root:Unsolved with model: 2.0%

50 graph_test_40 NMPN, c=3, 40 exp, k=1 ,pf=0.1 INFO:root:Average reward with model: 5.145 INFO:root:Average runtime: 0.543s INFO:root:Unsolved with model: 4.0%

50 graph_test_40 NMPN, c=3, 40 exp, k=1 ,pf=0.15 INFO:root:Average reward with model: 5.976 INFO:root:Average runtime: 0.598s INFO:root:Unsolved with model: 14.0%

NMPN_40

50 graph_test_40 base MCTS, c=3, 1 exp, s=200, k=500 ,pf=0.1 -> BUDGET=2 INFO:root:Average reward: 6.872 INFO:root:Average runtime: 228.381s INFO:root:Unsolved without model: 18.0%

50 graph_test_40 base MCTS, c=3, 1 exp, s=200, k=500 ,pf=0.05 -> BUDGET=2 INFO:root:Average reward: 6.598 INFO:root:Average runtime: 235.055s INFO:root:Unsolved without model: 4.0%

50 graph_test_40 base MCTS, c=3, 1 exp, s=200, k=500 ,pf=0.1 -> BUDGET=3 INFO:root:Average reward: 8.286 INFO:root:Average runtime: 306.666s INFO:root:Unsolved without model: 18.0%

50 graph_test_40 base MCTS, c=3, 1 exp, s=200, k=500 ,pf=0.05 -> BUDGET=3 INFO:root:Average reward: 8.539 INFO:root:Average runtime: 335.799s INFO:root:Unsolved without model: 12.0%

50 graph_test_40 NMPN, c=3, 40 exp, k=2 ,pf=0.075 INFO:root:Average reward with model: 6.628 INFO:root:Average runtime: 0.791s INFO:root:Unsolved with model: 22.0%

50 graph_test_40 NMPN, c=3, 40 exp, k=5 ,pf=0.05 INFO:root:Average reward with model: 6.415 INFO:root:Average runtime: 2.091s INFO:root:Unsolved with model: 16.0%

50 graph_test_40 NMPN, c=3, 40 exp, k=1 ,pf=0.3 INFO:root:Average reward with model: 6.587 INFO:root:Average runtime: 0.656s INFO:root:Unsolved with model: 12.0%

50 graph_test_40 NMPN, c=3, 40 exp, k=1 ,pf=0.2 INFO:root:Average reward with model: 5.868 INFO:root:Average runtime: 0.571s INFO:root:Unsolved with model: 4.0%

50 graph_test_40 NMPN, c=3, 40 exp, k=1 ,pf=0.15 INFO:root:Average reward with model: 5.805 INFO:root:Average runtime: 0.562s INFO:root:Unsolved with model: 2.0%

50 graph_test_40 NMPN, c=3, 40 exp, k=1 ,pf=0.1 INFO:root:Average reward with model: 5.706 INFO:root:Average runtime: 0.546s INFO:root:Unsolved with model: 2.0%

50 graph_test_40 NMPN, c=3, 40 exp, k=2, pf=0.1 INFO:root:Average reward with model: 6.891 INFO:root:Average runtime: 0.85s INFO:root:Unsolved with model: 22.0%

50 graph_test_40 NMPN, c=3, 40 exp, k=30 ,pf=0.025 INFO:root:Average reward with model: 5.55 INFO:root:Average runtime: 11.703s INFO:root:Unsolved with model: 8.0%

50 graph_test_40 NMPN, c=3, 40 exp, k=40 ,pf=0.025 INFO:root:Average reward with model: 5.863 INFO:root:Average runtime: 16.354s INFO:root:Unsolved with model: 14.0%

50 graph_test_40 NMPN, c=3, 40 exp, k=75 ,pf=0.025 INFO:root:Average reward with model: 5.895 INFO:root:Average runtime: 30.535s INFO:root:Unsolved with model: 18.0%

NOTE: generalization tests

50 graph_test_40 NMPN, c=3, 40 exp, k=1 ,pf=0.1, BUDGET = 3 INFO:root:Average reward with model: 7.574 INFO:root:Average runtime: 0.73s INFO:root:Unsolved with model: 4.0%

50 graph_test_40 NMPN, c=3, 40 exp, k=1 ,pf=0.15, BUDGET = 3 INFO:root:Average reward with model: 8.054 INFO:root:Average runtime: 0.793s INFO:root:Unsolved with model: 6.0%

50 graph_test_40 NMPN, c=3, 40 exp, k=1 ,pf=0.2, BUDGET = 3 INFO:root:Average reward with model: 8.414 INFO:root:Average runtime: 0.805s INFO:root:Unsolved with model: 10.0%

Optimal Comparisons

About

GNN-aided MCTS solving Stochastic Orienteering Problems

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages