以下のコードで、この問題をDockerが利用できるローカルの環境で動作させることができます。
以下のコマンドでPyPIからopthub-runner-pythonをインストールします。
pip install opthub-runner-python以下のコードで synpop の評価関数を利用できます。
実行する際は、Dockerを起動する必要があります。
from opthub_runner.evaluator import Evaluator
evaluator = Evaluator(
"opthub/problem-synpop:latest", # Docker image
{
"SYNPOP_FUNC": YOUR_SYNPOP_FUNC, #
"SYNPOP_CITY": YOUR_SYNPOP_CITY, #
"SYNPOP_SEED": YOUR_SYNPOP_SEED, #
}
)
result = evaluator.run(your_solution)
print(result["objective"]) # The objective value
print(result["feasible"]) # Feasibility of the solution
print(result["constraint"]) # Constraint
print(result["info"]) # Additional informationEvaluatorクラスの詳細は、https://github.com/opthub-org/comp-runner-pythonを参照して下さい。