一个Python库来帮助实现kurobako的解算器和问题
kurobako的Python项目详细描述
kurobako py公司
帮助实现kurobako的解算器和问题的Python库。在
安装
$ pip install kurobako
使用示例
基于随机搜索定义解算器
^{pr2}$定义一个表示二次函数的问题x**2 + y
# filename: quadratic_problem.pyfromkurobakoimportproblemclassQuadraticProblemFactory(problem.ProblemFactory):defspecification(self):params=[problem.Var('x',problem.ContinuousRange(-10,10)),problem.Var('y',problem.DiscreteRange(-3,3))]returnproblem.ProblemSpec(name='Quadratic Function',params=params,values=[problem.Var('x**2 + y')])defcreate_problem(self,seed):returnQuadraticProblem()classQuadraticProblem(problem.Problem):defcreate_evaluator(self,params):returnQuadraticEvaluator(params)classQuadraticEvaluator(problem.Evaluator):def__init__(self,params):self._x,self._y=paramsself._current_step=0defcurrent_step(self):returnself._current_stepdefevaluate(self,next_step):self._current_step=1return[self._x**2+self._y]if__name__=='__main__':runner=problem.ProblemRunner(QuadraticProblemFactory())runner.run()
运行使用上述解算器和问题的基准测试
$SOLVER=$(kurobako solver command python3 random_solver.py)$PROBLEM=$(kurobako problem command python3 quadratic_problem.py)$ kurobako studies --solvers $SOLVER --problems $PROBLEM| kurobako run > result.json
- 项目
标签: