notebooks: sync
This commit is contained in:
@@ -83,6 +83,7 @@
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"from ortools.constraint_solver import routing_enums_pb2\n",
|
||||
"from ortools.constraint_solver import pywrapcp\n",
|
||||
"\n",
|
||||
"\n",
|
||||
@@ -229,14 +230,23 @@
|
||||
" distance_dimension = routing.GetDimensionOrDie(dimension_name)\n",
|
||||
" distance_dimension.SetGlobalSpanCostCoefficient(100)\n",
|
||||
"\n",
|
||||
" # Close model with the custom search parameters.\n",
|
||||
" search_parameters = pywrapcp.DefaultRoutingSearchParameters()\n",
|
||||
" search_parameters.first_solution_strategy = (\n",
|
||||
" routing_enums_pb2.FirstSolutionStrategy.PATH_CHEAPEST_ARC)\n",
|
||||
" search_parameters.local_search_metaheuristic = (\n",
|
||||
" routing_enums_pb2.LocalSearchMetaheuristic.GUIDED_LOCAL_SEARCH)\n",
|
||||
" search_parameters.time_limit.FromSeconds(5)\n",
|
||||
" # When an initial solution is given for search, the model will be closed with the default\n",
|
||||
" # search parameters unless it is explicitly closed with the custom search parameters.\n",
|
||||
" routing.CloseModelWithParameters(search_parameters)\n",
|
||||
"\n",
|
||||
" # Get initial solution from routes after closing the model.\n",
|
||||
" initial_solution = routing.ReadAssignmentFromRoutes(data['initial_routes'],\n",
|
||||
" True)\n",
|
||||
" print('Initial solution:')\n",
|
||||
" print_solution(data, manager, routing, initial_solution)\n",
|
||||
"\n",
|
||||
" # Set default search parameters.\n",
|
||||
" search_parameters = pywrapcp.DefaultRoutingSearchParameters()\n",
|
||||
"\n",
|
||||
" # Solve the problem.\n",
|
||||
" solution = routing.SolveFromAssignmentWithParameters(\n",
|
||||
" initial_solution, search_parameters)\n",
|
||||
|
||||
@@ -94,10 +94,10 @@
|
||||
"from ortools.linear_solver import pywraplp\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"def main(sol='CBC'):\n",
|
||||
"def main():\n",
|
||||
"\n",
|
||||
" # Create the solver.\n",
|
||||
" solver = pywraplp.Solver.CreateSolver(sol)\n",
|
||||
" solver = pywraplp.Solver.CreateSolver('glop')\n",
|
||||
" if not solver:\n",
|
||||
" return\n",
|
||||
"\n",
|
||||
@@ -169,15 +169,7 @@
|
||||
" print()\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"sol = 'CBC'\n",
|
||||
"if len(sys.argv) > 1:\n",
|
||||
" sol = sys.argv[1]\n",
|
||||
" if sol != 'GLPK' and sol != 'CBC':\n",
|
||||
" print('Solver must be either GLPK or CBC')\n",
|
||||
" sys.exit(1)\n",
|
||||
"\n",
|
||||
"main(sol)\n",
|
||||
"main()\n",
|
||||
"\n"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -273,8 +273,9 @@
|
||||
" item_coeffs = collections.defaultdict(list)\n",
|
||||
"\n",
|
||||
" start_time = time.time()\n",
|
||||
" solver = pywraplp.Solver('Steel',\n",
|
||||
" pywraplp.Solver.CBC_MIXED_INTEGER_PROGRAMMING)\n",
|
||||
" solver = pywraplp.Solver.CreateSolver('cbc')\n",
|
||||
" if not solver:\n",
|
||||
" return\n",
|
||||
"\n",
|
||||
" objective_vars = []\n",
|
||||
" objective_coeffs = []\n",
|
||||
|
||||
@@ -97,9 +97,10 @@
|
||||
"\n",
|
||||
"_OUTPUT_PROTO = flags.DEFINE_string(\n",
|
||||
" 'output_proto', '', 'Output file to write the cp_model proto to.')\n",
|
||||
"_PARAMS = flags.DEFINE_string('params',\n",
|
||||
" 'num_search_workers:16,log_search_progress:true',\n",
|
||||
" 'Sat solver parameters.')\n",
|
||||
"_PARAMS = flags.DEFINE_string(\n",
|
||||
" 'params',\n",
|
||||
" 'num_search_workers:16,log_search_progress:true,max_time_in_seconds:10.0',\n",
|
||||
" 'Sat solver parameters.')\n",
|
||||
"_MODEL = flags.DEFINE_string('model', 'rotation',\n",
|
||||
" '\\'duplicate\\' or \\'rotation\\' or \\'optional\\'')\n",
|
||||
"\n",
|
||||
|
||||
@@ -220,9 +220,9 @@
|
||||
" # Solve and print out the solution.\n",
|
||||
" solver = cp_model.CpSolver()\n",
|
||||
" # To benefit from the linearization of the circuit constraint.\n",
|
||||
" solver.parameters.linearization_level = 2\n",
|
||||
" solver.parameters.max_time_in_seconds = 15.0\n",
|
||||
" #solver.parameters.log_search_progress = True\n",
|
||||
" solver.parameters.num_search_workers = 8\n",
|
||||
" # solver.parameters.log_search_progress = True\n",
|
||||
"\n",
|
||||
" solver.Solve(model)\n",
|
||||
" #print(solver.ResponseStats())\n",
|
||||
|
||||
@@ -236,7 +236,7 @@
|
||||
" solver = cp_model.CpSolver()\n",
|
||||
" solver.parameters.num_search_workers = 8\n",
|
||||
" solver.parameters.max_time_in_seconds = 15.0\n",
|
||||
" #solver.parameters.log_search_progress = True\n",
|
||||
" # solver.parameters.log_search_progress = True\n",
|
||||
"\n",
|
||||
" status = solver.Solve(model)\n",
|
||||
" if status == cp_model.FEASIBLE or status == cp_model.OPTIMAL:\n",
|
||||
|
||||
Reference in New Issue
Block a user