From 250302964e759afdeee79d9234b4ea975290b602 Mon Sep 17 00:00:00 2001 From: Laurent Perron Date: Tue, 5 Sep 2023 17:06:29 +0200 Subject: [PATCH] tweak export to notebook; add flags stubs code to allow them to work in a notebook --- bazel/notebook_requirements.in | 3 +- bazel/notebook_requirements.txt | 140 +++++++++++++----- cmake/python.cmake | 1 + examples/notebook/algorithms/knapsack.ipynb | 2 +- .../algorithms/simple_knapsack_program.ipynb | 2 +- .../constraint_solver/cp_is_fun_cp.ipynb | 2 +- .../notebook/constraint_solver/cvrp.ipynb | 2 +- .../constraint_solver/cvrp_reload.ipynb | 2 +- .../notebook/constraint_solver/cvrptw.ipynb | 2 +- .../constraint_solver/cvrptw_break.ipynb | 2 +- .../constraint_solver/nqueens_cp.ipynb | 2 +- .../constraint_solver/simple_cp_program.ipynb | 2 +- .../simple_routing_program.ipynb | 2 +- examples/notebook/constraint_solver/tsp.ipynb | 2 +- .../constraint_solver/tsp_circuit_board.ipynb | 2 +- .../constraint_solver/tsp_cities.ipynb | 2 +- .../tsp_distance_matrix.ipynb | 2 +- examples/notebook/constraint_solver/vrp.ipynb | 2 +- .../constraint_solver/vrp_breaks.ipynb | 2 +- .../vrp_breaks_from_start.ipynb | 2 +- .../constraint_solver/vrp_capacity.ipynb | 2 +- .../constraint_solver/vrp_drop_nodes.ipynb | 2 +- .../constraint_solver/vrp_global_span.ipynb | 2 +- .../vrp_initial_routes.ipynb | 2 +- .../vrp_items_to_deliver.ipynb | 2 +- .../constraint_solver/vrp_node_max.ipynb | 2 +- .../constraint_solver/vrp_nodes_indices.ipynb | 2 +- .../vrp_pickup_delivery.ipynb | 2 +- .../vrp_pickup_delivery_fifo.ipynb | 2 +- .../vrp_pickup_delivery_lifo.ipynb | 2 +- .../constraint_solver/vrp_resources.ipynb | 2 +- .../vrp_solution_callback.ipynb | 2 +- .../constraint_solver/vrp_starts_ends.ipynb | 2 +- .../constraint_solver/vrp_time_windows.ipynb | 2 +- .../vrp_time_windows_per_vehicles.ipynb | 2 +- .../constraint_solver/vrp_tokens.ipynb | 2 +- .../vrp_with_time_limit.ipynb | 2 +- .../notebook/constraint_solver/vrpgs.ipynb | 2 +- .../vrptw_store_solution_data.ipynb | 2 +- examples/notebook/contrib/3_jugs_mip.ipynb | 2 +- .../notebook/contrib/3_jugs_regular.ipynb | 2 +- .../notebook/contrib/a_round_of_golf.ipynb | 2 +- examples/notebook/contrib/all_interval.ipynb | 2 +- .../contrib/alldifferent_except_0.ipynb | 2 +- examples/notebook/contrib/alphametic.ipynb | 2 +- examples/notebook/contrib/assignment.ipynb | 2 +- .../notebook/contrib/assignment6_mip.ipynb | 2 +- examples/notebook/contrib/bacp.ipynb | 2 +- examples/notebook/contrib/blending.ipynb | 2 +- .../notebook/contrib/broken_weights.ipynb | 2 +- examples/notebook/contrib/bus_schedule.ipynb | 2 +- examples/notebook/contrib/car.ipynb | 2 +- .../notebook/contrib/check_dependencies.ipynb | 2 +- examples/notebook/contrib/circuit.ipynb | 2 +- examples/notebook/contrib/coins3.ipynb | 2 +- examples/notebook/contrib/coins_grid.ipynb | 2 +- .../notebook/contrib/coins_grid_mip.ipynb | 2 +- examples/notebook/contrib/coloring_ip.ipynb | 2 +- .../contrib/combinatorial_auction2.ipynb | 2 +- .../notebook/contrib/contiguity_regular.ipynb | 2 +- examples/notebook/contrib/costas_array.ipynb | 2 +- examples/notebook/contrib/covering_opl.ipynb | 2 +- examples/notebook/contrib/crew.ipynb | 2 +- examples/notebook/contrib/crossword2.ipynb | 2 +- examples/notebook/contrib/crypta.ipynb | 2 +- examples/notebook/contrib/crypto.ipynb | 2 +- .../contrib/curious_set_of_integers.ipynb | 2 +- .../notebook/contrib/debruijn_binary.ipynb | 2 +- examples/notebook/contrib/diet1.ipynb | 2 +- examples/notebook/contrib/diet1_b.ipynb | 2 +- examples/notebook/contrib/diet1_mip.ipynb | 2 +- .../contrib/discrete_tomography.ipynb | 2 +- .../contrib/divisible_by_9_through_1.ipynb | 2 +- examples/notebook/contrib/dudeney.ipynb | 2 +- examples/notebook/contrib/einav_puzzle.ipynb | 2 +- examples/notebook/contrib/einav_puzzle2.ipynb | 2 +- examples/notebook/contrib/eq10.ipynb | 2 +- examples/notebook/contrib/eq20.ipynb | 2 +- examples/notebook/contrib/fill_a_pix.ipynb | 2 +- .../notebook/contrib/furniture_moving.ipynb | 2 +- examples/notebook/contrib/futoshiki.ipynb | 2 +- .../notebook/contrib/game_theory_taha.ipynb | 2 +- examples/notebook/contrib/grocery.ipynb | 2 +- examples/notebook/contrib/hidato.ipynb | 2 +- .../notebook/contrib/just_forgotten.ipynb | 2 +- examples/notebook/contrib/kakuro.ipynb | 2 +- examples/notebook/contrib/kenken2.ipynb | 2 +- examples/notebook/contrib/killer_sudoku.ipynb | 2 +- examples/notebook/contrib/knapsack_cp.ipynb | 2 +- examples/notebook/contrib/knapsack_mip.ipynb | 2 +- examples/notebook/contrib/labeled_dice.ipynb | 2 +- examples/notebook/contrib/langford.ipynb | 2 +- examples/notebook/contrib/least_diff.ipynb | 2 +- examples/notebook/contrib/least_square.ipynb | 2 +- examples/notebook/contrib/lectures.ipynb | 2 +- .../notebook/contrib/magic_sequence_sat.ipynb | 2 +- examples/notebook/contrib/magic_square.ipynb | 2 +- .../contrib/magic_square_and_cards.ipynb | 2 +- .../notebook/contrib/magic_square_mip.ipynb | 2 +- examples/notebook/contrib/map.ipynb | 2 +- examples/notebook/contrib/marathon2.ipynb | 2 +- examples/notebook/contrib/max_flow_taha.ipynb | 2 +- .../notebook/contrib/max_flow_winston1.ipynb | 2 +- examples/notebook/contrib/minesweeper.ipynb | 2 +- examples/notebook/contrib/mr_smith.ipynb | 2 +- .../contrib/nonogram_default_search.ipynb | 2 +- .../notebook/contrib/nonogram_regular.ipynb | 2 +- .../notebook/contrib/nonogram_table.ipynb | 2 +- .../notebook/contrib/nonogram_table2.ipynb | 2 +- .../notebook/contrib/nontransitive_dice.ipynb | 2 +- examples/notebook/contrib/nqueens.ipynb | 2 +- examples/notebook/contrib/nqueens2.ipynb | 2 +- examples/notebook/contrib/nqueens3.ipynb | 2 +- .../notebook/contrib/nurse_rostering.ipynb | 2 +- examples/notebook/contrib/nurses_cp.ipynb | 2 +- examples/notebook/contrib/olympic.ipynb | 2 +- examples/notebook/contrib/organize_day.ipynb | 2 +- examples/notebook/contrib/p_median.ipynb | 2 +- .../notebook/contrib/pandigital_numbers.ipynb | 2 +- examples/notebook/contrib/photo_problem.ipynb | 2 +- .../contrib/place_number_puzzle.ipynb | 2 +- .../contrib/post_office_problem2.ipynb | 2 +- examples/notebook/contrib/production.ipynb | 2 +- .../contrib/project_scheduling_sat.ipynb | 2 +- examples/notebook/contrib/pyls_api.ipynb | 2 +- .../contrib/quasigroup_completion.ipynb | 2 +- examples/notebook/contrib/regular.ipynb | 2 +- examples/notebook/contrib/regular_table.ipynb | 2 +- .../notebook/contrib/regular_table2.ipynb | 2 +- examples/notebook/contrib/rogo2.ipynb | 2 +- .../contrib/rostering_with_travel.ipynb | 2 +- examples/notebook/contrib/safe_cracking.ipynb | 2 +- .../contrib/scheduling_speakers.ipynb | 2 +- .../scheduling_with_transitions_sat.ipynb | 2 +- .../contrib/school_scheduling_sat.ipynb | 2 +- examples/notebook/contrib/secret_santa.ipynb | 2 +- examples/notebook/contrib/secret_santa2.ipynb | 2 +- .../contrib/send_more_money_any_base.ipynb | 2 +- .../notebook/contrib/send_most_money.ipynb | 2 +- examples/notebook/contrib/seseman.ipynb | 2 +- examples/notebook/contrib/seseman_b.ipynb | 2 +- examples/notebook/contrib/set_covering.ipynb | 2 +- examples/notebook/contrib/set_covering2.ipynb | 2 +- examples/notebook/contrib/set_covering3.ipynb | 2 +- examples/notebook/contrib/set_covering4.ipynb | 2 +- .../contrib/set_covering_deployment.ipynb | 2 +- .../contrib/set_covering_skiena.ipynb | 2 +- examples/notebook/contrib/set_partition.ipynb | 2 +- .../notebook/contrib/sicherman_dice.ipynb | 2 +- .../notebook/contrib/ski_assignment.ipynb | 2 +- examples/notebook/contrib/slitherlink.ipynb | 2 +- .../contrib/sports_schedule_sat.ipynb | 2 +- .../notebook/contrib/stable_marriage.ipynb | 2 +- .../contrib/stable_marriage_sat.ipynb | 2 +- examples/notebook/contrib/steel.ipynb | 2 +- examples/notebook/contrib/steel_lns.ipynb | 2 +- .../notebook/contrib/stigler_contrib.ipynb | 2 +- examples/notebook/contrib/strimko2.ipynb | 2 +- examples/notebook/contrib/subset_sum.ipynb | 2 +- examples/notebook/contrib/survo_puzzle.ipynb | 2 +- examples/notebook/contrib/toNum.ipynb | 2 +- .../notebook/contrib/traffic_lights.ipynb | 2 +- .../notebook/contrib/vendor_scheduling.ipynb | 2 +- examples/notebook/contrib/volsay.ipynb | 2 +- examples/notebook/contrib/volsay2.ipynb | 2 +- examples/notebook/contrib/volsay3.ipynb | 2 +- .../contrib/wedding_optimal_chart.ipynb | 2 +- .../notebook/contrib/who_killed_agatha.ipynb | 2 +- examples/notebook/contrib/xkcd.ipynb | 2 +- .../notebook/contrib/young_tableaux.ipynb | 2 +- examples/notebook/examples/appointments.ipynb | 11 +- .../examples/arc_flow_cutting_stock_sat.ipynb | 11 +- .../assignment_with_constraints_sat.ipynb | 2 +- .../notebook/examples/balance_group_sat.ipynb | 2 +- .../bus_driver_scheduling_flow_sat.ipynb | 2 +- .../examples/bus_driver_scheduling_sat.ipynb | 9 +- .../examples/chemical_balance_lp.ipynb | 2 +- .../examples/chemical_balance_sat.ipynb | 2 +- .../notebook/examples/clustering_sat.ipynb | 2 +- .../examples/cover_rectangle_sat.ipynb | 2 +- .../notebook/examples/cryptarithm_sat.ipynb | 2 +- examples/notebook/examples/cvrptw_plot.ipynb | 2 +- .../examples/flexible_job_shop_sat.ipynb | 2 +- .../examples/gate_scheduling_sat.ipynb | 2 +- examples/notebook/examples/golomb8.ipynb | 10 +- examples/notebook/examples/golomb_sat.ipynb | 7 +- examples/notebook/examples/hidato_sat.ipynb | 2 +- .../examples/integer_programming.ipynb | 2 +- .../examples/jobshop_ft06_distance_sat.ipynb | 2 +- .../notebook/examples/jobshop_ft06_sat.ipynb | 2 +- .../jobshop_with_maintenance_sat.ipynb | 2 +- .../notebook/examples/knapsack_2d_sat.ipynb | 9 +- .../examples/line_balancing_sat.ipynb | 11 +- .../examples/linear_assignment_api.ipynb | 2 +- .../examples/linear_programming.ipynb | 2 +- .../examples/magic_sequence_distribute.ipynb | 6 +- .../notebook/examples/maze_escape_sat.ipynb | 7 +- .../no_wait_baking_scheduling_sat.ipynb | 7 +- examples/notebook/examples/nqueens_sat.ipynb | 5 +- .../examples/prize_collecting_tsp.ipynb | 2 +- .../examples/prize_collecting_tsp_sat.ipynb | 2 +- .../examples/prize_collecting_vrp.ipynb | 2 +- .../examples/prize_collecting_vrp_sat.ipynb | 2 +- examples/notebook/examples/proto_solve.ipynb | 11 +- .../notebook/examples/pyflow_example.ipynb | 2 +- examples/notebook/examples/qubo_sat.ipynb | 2 +- examples/notebook/examples/random_tsp.ipynb | 2 +- examples/notebook/examples/rcpsp_sat.ipynb | 19 +-- .../notebook/examples/reallocate_sat.ipynb | 2 +- .../examples/shift_scheduling_sat.ipynb | 7 +- ...ing_with_setup_release_due_dates_sat.ipynb | 9 +- .../notebook/examples/spread_robots_sat.ipynb | 9 +- .../examples/steel_mill_slab_sat.ipynb | 11 +- examples/notebook/examples/sudoku_sat.ipynb | 2 +- .../examples/task_allocation_sat.ipynb | 2 +- .../tasks_and_workers_assignment_sat.ipynb | 2 +- examples/notebook/examples/transit_time.ipynb | 2 +- examples/notebook/examples/tsp_sat.ipynb | 2 +- .../examples/vendor_scheduling_sat.ipynb | 2 +- .../examples/wedding_optimal_chart_sat.ipynb | 2 +- .../weighted_latency_problem_sat.ipynb | 15 +- examples/notebook/examples/zebra_sat.ipynb | 2 +- .../assignment_linear_sum_assignment.ipynb | 2 +- .../notebook/graph/assignment_min_flow.ipynb | 2 +- .../notebook/graph/balance_min_flow.ipynb | 2 +- .../graph/simple_max_flow_program.ipynb | 2 +- .../graph/simple_min_cost_flow_program.ipynb | 2 +- .../linear_solver/assignment_groups_mip.ipynb | 2 +- .../linear_solver/assignment_mb.ipynb | 2 +- .../linear_solver/assignment_mip.ipynb | 2 +- .../assignment_task_sizes_mip.ipynb | 2 +- .../linear_solver/assignment_teams_mip.ipynb | 2 +- .../linear_solver/basic_example.ipynb | 2 +- .../linear_solver/bin_packing_mb.ipynb | 2 +- .../linear_solver/bin_packing_mip.ipynb | 2 +- .../integer_programming_example.ipynb | 2 +- .../linear_programming_example.ipynb | 2 +- .../linear_solver/mip_var_array.ipynb | 2 +- .../linear_solver/multiple_knapsack_mip.ipynb | 2 +- .../linear_solver/simple_lp_program.ipynb | 2 +- .../linear_solver/simple_lp_program_mb.ipynb | 2 +- .../linear_solver/simple_mip_program.ipynb | 2 +- .../linear_solver/simple_mip_program_mb.ipynb | 2 +- .../notebook/linear_solver/stigler_diet.ipynb | 2 +- .../notebook/pdlp/simple_pdlp_program.ipynb | 2 +- .../notebook/sat/assignment_groups_sat.ipynb | 2 +- examples/notebook/sat/assignment_sat.ipynb | 2 +- .../sat/assignment_task_sizes_sat.ipynb | 2 +- .../notebook/sat/assignment_teams_sat.ipynb | 2 +- .../notebook/sat/assumptions_sample_sat.ipynb | 2 +- examples/notebook/sat/bin_packing_sat.ipynb | 2 +- .../notebook/sat/binpacking_problem_sat.ipynb | 2 +- .../notebook/sat/bool_or_sample_sat.ipynb | 2 +- .../sat/boolean_product_sample_sat.ipynb | 2 +- .../notebook/sat/channeling_sample_sat.ipynb | 2 +- .../notebook/sat/copy_model_sample_sat.ipynb | 2 +- examples/notebook/sat/cp_is_fun_sat.ipynb | 2 +- examples/notebook/sat/cp_sat_example.ipynb | 2 +- .../earliness_tardiness_cost_sample_sat.ipynb | 2 +- .../notebook/sat/interval_sample_sat.ipynb | 2 +- .../notebook/sat/literal_sample_sat.ipynb | 2 +- .../notebook/sat/minimal_jobshop_sat.ipynb | 2 +- .../notebook/sat/multiple_knapsack_sat.ipynb | 2 +- .../notebook/sat/no_overlap_sample_sat.ipynb | 2 +- examples/notebook/sat/non_linear_sat.ipynb | 2 +- examples/notebook/sat/nqueens_sat.ipynb | 2 +- examples/notebook/sat/nurses_sat.ipynb | 2 +- .../sat/optional_interval_sample_sat.ipynb | 2 +- .../overlapping_intervals_sample_sat.ipynb | 2 +- .../sat/rabbits_and_pheasants_sat.ipynb | 2 +- .../notebook/sat/ranking_sample_sat.ipynb | 2 +- .../notebook/sat/reified_sample_sat.ipynb | 2 +- .../notebook/sat/schedule_requests_sat.ipynb | 2 +- .../scheduling_with_calendar_sample_sat.ipynb | 2 +- .../search_for_all_solutions_sample_sat.ipynb | 2 +- .../notebook/sat/simple_sat_program.ipynb | 2 +- .../sat/solution_hinting_sample_sat.ipynb | 2 +- ...nt_intermediate_solutions_sample_sat.ipynb | 2 +- .../solve_with_time_limit_sample_sat.ipynb | 2 +- .../sat/step_function_sample_sat.ipynb | 2 +- .../stop_after_n_solutions_sample_sat.ipynb | 2 +- ortools/python/BUILD.bazel | 1 + ortools/python/ortools_notebook.py | 4 +- ortools/python/setup.py.in | 1 + tools/export_to_ipynb.py | 59 ++------ 285 files changed, 476 insertions(+), 427 deletions(-) diff --git a/bazel/notebook_requirements.in b/bazel/notebook_requirements.in index ffbc8c62c3..edf35c02d0 100644 --- a/bazel/notebook_requirements.in +++ b/bazel/notebook_requirements.in @@ -17,7 +17,8 @@ svgwrite==1.4.3 plotly==5.15.0 # Notebook -notebook==7.0.2 +jupyter==1.0.0 tornado==6.3.3 Pygments==2.15.0 jupyter-server==2.7.2 +jsonschema==4.19.0 diff --git a/bazel/notebook_requirements.txt b/bazel/notebook_requirements.txt index 78ba4dd9d7..8ead6abfca 100644 --- a/bazel/notebook_requirements.txt +++ b/bazel/notebook_requirements.txt @@ -6,25 +6,31 @@ # absl-py==1.4.0 # via -r bazel/notebook_requirements.in -anyio==3.7.0 +anyio==4.0.0 # via jupyter-server -argon2-cffi==21.3.0 +appnope==0.1.3 + # via + # ipykernel + # ipython +argon2-cffi==23.1.0 # via jupyter-server argon2-cffi-bindings==21.2.0 # via argon2-cffi arrow==1.2.3 # via isoduration -asttokens==2.2.1 +asttokens==2.4.0 # via stack-data async-lru==2.0.4 # via jupyterlab -attrs==22.2.0 - # via jsonschema +attrs==23.1.0 + # via + # jsonschema + # referencing babel==2.12.1 # via jupyterlab-server backcall==0.2.0 # via ipython -beautifulsoup4==4.11.2 +beautifulsoup4==4.12.2 # via nbconvert black==23.7.0 # via -r bazel/notebook_requirements.in @@ -38,9 +44,11 @@ charset-normalizer==3.2.0 # via requests click==8.1.3 # via black -comm==0.1.2 - # via ipykernel -debugpy==1.6.6 +comm==0.1.4 + # via + # ipykernel + # ipywidgets +debugpy==1.6.7.post1 # via ipykernel decorator==5.1.1 # via ipython @@ -50,7 +58,7 @@ distlib==0.3.7 # via virtualenv executing==1.2.0 # via stack-data -fastjsonschema==2.16.2 +fastjsonschema==2.18.0 # via nbformat filelock==3.12.2 # via virtualenv @@ -61,13 +69,24 @@ idna==3.4 # anyio # jsonschema # requests -ipykernel==6.21.1 - # via jupyterlab -ipython==8.10.0 - # via ipykernel +ipykernel==6.25.2 + # via + # jupyter + # jupyter-console + # jupyterlab + # qtconsole +ipython==8.15.0 + # via + # ipykernel + # ipywidgets + # jupyter-console +ipython-genutils==0.2.0 + # via qtconsole +ipywidgets==8.1.0 + # via jupyter isoduration==20.11.0 # via jsonschema -jedi==0.18.2 +jedi==0.19.0 # via ipython jinja2==3.1.2 # via @@ -79,26 +98,37 @@ json5==0.9.14 # via jupyterlab-server jsonpointer==2.4 # via jsonschema -jsonschema[format-nongpl]==4.17.3 +jsonschema[format-nongpl]==4.19.0 # via + # -r bazel/notebook_requirements.in # jupyter-events # jupyterlab-server # nbformat -jupyter-client==8.0.2 +jsonschema-specifications==2023.7.1 + # via jsonschema +jupyter==1.0.0 + # via -r bazel/notebook_requirements.in +jupyter-client==8.3.1 # via # ipykernel + # jupyter-console # jupyter-server # nbclient -jupyter-core==5.2.0 + # qtconsole +jupyter-console==6.6.3 + # via jupyter +jupyter-core==5.3.1 # via # ipykernel # jupyter-client + # jupyter-console # jupyter-server # jupyterlab # nbclient # nbconvert # nbformat -jupyter-events==0.6.3 + # qtconsole +jupyter-events==0.7.0 # via jupyter-server jupyter-lsp==2.2.0 # via jupyterlab @@ -112,7 +142,7 @@ jupyter-server==2.7.2 # notebook-shim jupyter-server-terminals==0.4.4 # via jupyter-server -jupyterlab==4.0.4 +jupyterlab==4.0.5 # via notebook jupyterlab-pygments==0.2.2 # via nbconvert @@ -120,7 +150,9 @@ jupyterlab-server==2.24.0 # via # jupyterlab # notebook -markupsafe==2.1.2 +jupyterlab-widgets==3.0.8 + # via ipywidgets +markupsafe==2.1.3 # via # jinja2 # nbconvert @@ -128,25 +160,27 @@ matplotlib-inline==0.1.6 # via # ipykernel # ipython -mistune==2.0.5 +mistune==3.0.1 # via nbconvert mypy-extensions==1.0.0 # via black mypy-protobuf==3.5.0 # via -r bazel/notebook_requirements.in -nbclient==0.7.2 +nbclient==0.8.0 # via nbconvert -nbconvert==7.2.9 - # via jupyter-server -nbformat==5.7.3 +nbconvert==7.8.0 + # via + # jupyter + # jupyter-server +nbformat==5.9.2 # via # jupyter-server # nbclient # nbconvert -nest-asyncio==1.5.6 +nest-asyncio==1.5.7 # via ipykernel -notebook==7.0.2 - # via -r bazel/notebook_requirements.in +notebook==7.0.3 + # via jupyter notebook-shim==0.2.3 # via # jupyterlab @@ -156,9 +190,9 @@ numpy==1.25.2 # -r bazel/notebook_requirements.in # pandas # scipy -overrides==7.3.1 +overrides==7.4.0 # via jupyter-server -packaging==23.0 +packaging==23.1 # via # black # ipykernel @@ -167,6 +201,8 @@ packaging==23.0 # jupyterlab-server # nbconvert # plotly + # qtconsole + # qtpy pandas==2.0.3 # via -r bazel/notebook_requirements.in pandocfilters==1.5.0 @@ -186,15 +222,17 @@ platformdirs==3.10.0 # virtualenv plotly==5.15.0 # via -r bazel/notebook_requirements.in -prometheus-client==0.16.0 +prometheus-client==0.17.1 # via jupyter-server -prompt-toolkit==3.0.36 - # via ipython +prompt-toolkit==3.0.39 + # via + # ipython + # jupyter-console protobuf==4.24.0 # via # -r bazel/notebook_requirements.in # mypy-protobuf -psutil==5.9.4 +psutil==5.9.5 # via ipykernel ptyprocess==0.7.0 # via @@ -208,9 +246,9 @@ pygments==2.15.0 # via # -r bazel/notebook_requirements.in # ipython + # jupyter-console # nbconvert -pyrsistent==0.19.3 - # via jsonschema + # qtconsole python-dateutil==2.8.2 # via # arrow @@ -220,13 +258,24 @@ python-json-logger==2.0.7 # via jupyter-events pytz==2022.7.1 # via pandas -pyyaml==6.0 +pyyaml==6.0.1 # via jupyter-events -pyzmq==25.0.0 +pyzmq==25.1.1 # via # ipykernel # jupyter-client + # jupyter-console # jupyter-server + # qtconsole +qtconsole==5.4.4 + # via jupyter +qtpy==2.4.0 + # via qtconsole +referencing==0.30.2 + # via + # jsonschema + # jsonschema-specifications + # jupyter-events requests==2.31.0 # via jupyterlab-server rfc3339-validator==0.1.4 @@ -237,6 +286,10 @@ rfc3986-validator==0.1.1 # via # jsonschema # jupyter-events +rpds-py==0.10.2 + # via + # jsonschema + # referencing scipy==1.11.1 # via -r bazel/notebook_requirements.in send2trash==1.8.2 @@ -249,7 +302,7 @@ six==1.16.0 # rfc3339-validator sniffio==1.3.0 # via anyio -soupsieve==2.3.2.post1 +soupsieve==2.5 # via beautifulsoup4 stack-data==0.6.2 # via ipython @@ -277,7 +330,9 @@ traitlets==5.9.0 # comm # ipykernel # ipython + # ipywidgets # jupyter-client + # jupyter-console # jupyter-core # jupyter-events # jupyter-server @@ -286,6 +341,7 @@ traitlets==5.9.0 # nbclient # nbconvert # nbformat + # qtconsole types-protobuf==4.24.0.0 # via mypy-protobuf tzdata==2023.3 @@ -304,5 +360,7 @@ webencodings==0.5.1 # via # bleach # tinycss2 -websocket-client==1.6.1 +websocket-client==1.6.2 # via jupyter-server +widgetsnbextension==4.0.8 + # via ipywidgets diff --git a/cmake/python.cmake b/cmake/python.cmake index a198b96e9f..ed28516d53 100644 --- a/cmake/python.cmake +++ b/cmake/python.cmake @@ -283,6 +283,7 @@ file(COPY ortools/sat/python/cp_model_helper.py DESTINATION ${PYTHON_PROJECT_DIR}/sat/python) file(COPY + ortools/sat/colab/flags.py ortools/sat/colab/visualization.py DESTINATION ${PYTHON_PROJECT_DIR}/sat/colab) diff --git a/examples/notebook/algorithms/knapsack.ipynb b/examples/notebook/algorithms/knapsack.ipynb index 17efd5f488..f7251bee16 100644 --- a/examples/notebook/algorithms/knapsack.ipynb +++ b/examples/notebook/algorithms/knapsack.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/algorithms/simple_knapsack_program.ipynb b/examples/notebook/algorithms/simple_knapsack_program.ipynb index a0bfdf0154..e0c585b481 100644 --- a/examples/notebook/algorithms/simple_knapsack_program.ipynb +++ b/examples/notebook/algorithms/simple_knapsack_program.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/cp_is_fun_cp.ipynb b/examples/notebook/constraint_solver/cp_is_fun_cp.ipynb index 19e95c9817..5ef722e25e 100644 --- a/examples/notebook/constraint_solver/cp_is_fun_cp.ipynb +++ b/examples/notebook/constraint_solver/cp_is_fun_cp.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/cvrp.ipynb b/examples/notebook/constraint_solver/cvrp.ipynb index fbb90ece3b..364dc0a00b 100644 --- a/examples/notebook/constraint_solver/cvrp.ipynb +++ b/examples/notebook/constraint_solver/cvrp.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/cvrp_reload.ipynb b/examples/notebook/constraint_solver/cvrp_reload.ipynb index 2c8e9ec729..808ef9c4da 100644 --- a/examples/notebook/constraint_solver/cvrp_reload.ipynb +++ b/examples/notebook/constraint_solver/cvrp_reload.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/cvrptw.ipynb b/examples/notebook/constraint_solver/cvrptw.ipynb index 8fb29feb3a..2cfdca0635 100644 --- a/examples/notebook/constraint_solver/cvrptw.ipynb +++ b/examples/notebook/constraint_solver/cvrptw.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/cvrptw_break.ipynb b/examples/notebook/constraint_solver/cvrptw_break.ipynb index 2bc9441182..06e8d99ad3 100644 --- a/examples/notebook/constraint_solver/cvrptw_break.ipynb +++ b/examples/notebook/constraint_solver/cvrptw_break.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/nqueens_cp.ipynb b/examples/notebook/constraint_solver/nqueens_cp.ipynb index 890cda4ff3..96e8691c8b 100644 --- a/examples/notebook/constraint_solver/nqueens_cp.ipynb +++ b/examples/notebook/constraint_solver/nqueens_cp.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/simple_cp_program.ipynb b/examples/notebook/constraint_solver/simple_cp_program.ipynb index cfb85a3c86..8448c1854c 100644 --- a/examples/notebook/constraint_solver/simple_cp_program.ipynb +++ b/examples/notebook/constraint_solver/simple_cp_program.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/simple_routing_program.ipynb b/examples/notebook/constraint_solver/simple_routing_program.ipynb index f513f5b927..0331b1eb5a 100644 --- a/examples/notebook/constraint_solver/simple_routing_program.ipynb +++ b/examples/notebook/constraint_solver/simple_routing_program.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/tsp.ipynb b/examples/notebook/constraint_solver/tsp.ipynb index 3ee35985f9..663cde1f9f 100644 --- a/examples/notebook/constraint_solver/tsp.ipynb +++ b/examples/notebook/constraint_solver/tsp.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/tsp_circuit_board.ipynb b/examples/notebook/constraint_solver/tsp_circuit_board.ipynb index 0f82a14bf2..a9ba60d417 100644 --- a/examples/notebook/constraint_solver/tsp_circuit_board.ipynb +++ b/examples/notebook/constraint_solver/tsp_circuit_board.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/tsp_cities.ipynb b/examples/notebook/constraint_solver/tsp_cities.ipynb index 84ba66d898..e7e3a21a88 100644 --- a/examples/notebook/constraint_solver/tsp_cities.ipynb +++ b/examples/notebook/constraint_solver/tsp_cities.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/tsp_distance_matrix.ipynb b/examples/notebook/constraint_solver/tsp_distance_matrix.ipynb index 623296389a..2911a08a8a 100644 --- a/examples/notebook/constraint_solver/tsp_distance_matrix.ipynb +++ b/examples/notebook/constraint_solver/tsp_distance_matrix.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/vrp.ipynb b/examples/notebook/constraint_solver/vrp.ipynb index c656f9c065..2159bdd0ad 100644 --- a/examples/notebook/constraint_solver/vrp.ipynb +++ b/examples/notebook/constraint_solver/vrp.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/vrp_breaks.ipynb b/examples/notebook/constraint_solver/vrp_breaks.ipynb index 258b24561f..7534febab6 100644 --- a/examples/notebook/constraint_solver/vrp_breaks.ipynb +++ b/examples/notebook/constraint_solver/vrp_breaks.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/vrp_breaks_from_start.ipynb b/examples/notebook/constraint_solver/vrp_breaks_from_start.ipynb index a44b4cd1aa..45995bf60a 100644 --- a/examples/notebook/constraint_solver/vrp_breaks_from_start.ipynb +++ b/examples/notebook/constraint_solver/vrp_breaks_from_start.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/vrp_capacity.ipynb b/examples/notebook/constraint_solver/vrp_capacity.ipynb index a74307e04e..965b64cf04 100644 --- a/examples/notebook/constraint_solver/vrp_capacity.ipynb +++ b/examples/notebook/constraint_solver/vrp_capacity.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/vrp_drop_nodes.ipynb b/examples/notebook/constraint_solver/vrp_drop_nodes.ipynb index f07e42921b..7eb4829cb2 100644 --- a/examples/notebook/constraint_solver/vrp_drop_nodes.ipynb +++ b/examples/notebook/constraint_solver/vrp_drop_nodes.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/vrp_global_span.ipynb b/examples/notebook/constraint_solver/vrp_global_span.ipynb index 62a5dad2af..c46ae85135 100644 --- a/examples/notebook/constraint_solver/vrp_global_span.ipynb +++ b/examples/notebook/constraint_solver/vrp_global_span.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/vrp_initial_routes.ipynb b/examples/notebook/constraint_solver/vrp_initial_routes.ipynb index d7c8bd944e..2cde1b467f 100644 --- a/examples/notebook/constraint_solver/vrp_initial_routes.ipynb +++ b/examples/notebook/constraint_solver/vrp_initial_routes.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/vrp_items_to_deliver.ipynb b/examples/notebook/constraint_solver/vrp_items_to_deliver.ipynb index 7ef61cfeb7..31c8a505fc 100644 --- a/examples/notebook/constraint_solver/vrp_items_to_deliver.ipynb +++ b/examples/notebook/constraint_solver/vrp_items_to_deliver.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/vrp_node_max.ipynb b/examples/notebook/constraint_solver/vrp_node_max.ipynb index 3b8ecc56f9..642b531cd2 100644 --- a/examples/notebook/constraint_solver/vrp_node_max.ipynb +++ b/examples/notebook/constraint_solver/vrp_node_max.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/vrp_nodes_indices.ipynb b/examples/notebook/constraint_solver/vrp_nodes_indices.ipynb index 8d5c8673af..d597af01b6 100644 --- a/examples/notebook/constraint_solver/vrp_nodes_indices.ipynb +++ b/examples/notebook/constraint_solver/vrp_nodes_indices.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/vrp_pickup_delivery.ipynb b/examples/notebook/constraint_solver/vrp_pickup_delivery.ipynb index 7080724dc3..1365e87c6a 100644 --- a/examples/notebook/constraint_solver/vrp_pickup_delivery.ipynb +++ b/examples/notebook/constraint_solver/vrp_pickup_delivery.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/vrp_pickup_delivery_fifo.ipynb b/examples/notebook/constraint_solver/vrp_pickup_delivery_fifo.ipynb index 7d9adc7b4f..00498c4e61 100644 --- a/examples/notebook/constraint_solver/vrp_pickup_delivery_fifo.ipynb +++ b/examples/notebook/constraint_solver/vrp_pickup_delivery_fifo.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/vrp_pickup_delivery_lifo.ipynb b/examples/notebook/constraint_solver/vrp_pickup_delivery_lifo.ipynb index e43ef4d199..9be77e974f 100644 --- a/examples/notebook/constraint_solver/vrp_pickup_delivery_lifo.ipynb +++ b/examples/notebook/constraint_solver/vrp_pickup_delivery_lifo.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/vrp_resources.ipynb b/examples/notebook/constraint_solver/vrp_resources.ipynb index b14d3fe12f..b448f6d054 100644 --- a/examples/notebook/constraint_solver/vrp_resources.ipynb +++ b/examples/notebook/constraint_solver/vrp_resources.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/vrp_solution_callback.ipynb b/examples/notebook/constraint_solver/vrp_solution_callback.ipynb index 0295a28d4e..9a868c4aa4 100644 --- a/examples/notebook/constraint_solver/vrp_solution_callback.ipynb +++ b/examples/notebook/constraint_solver/vrp_solution_callback.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/vrp_starts_ends.ipynb b/examples/notebook/constraint_solver/vrp_starts_ends.ipynb index 77c566b60f..c2624c3e7b 100644 --- a/examples/notebook/constraint_solver/vrp_starts_ends.ipynb +++ b/examples/notebook/constraint_solver/vrp_starts_ends.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/vrp_time_windows.ipynb b/examples/notebook/constraint_solver/vrp_time_windows.ipynb index 65ce87405a..5dd20cfa78 100644 --- a/examples/notebook/constraint_solver/vrp_time_windows.ipynb +++ b/examples/notebook/constraint_solver/vrp_time_windows.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/vrp_time_windows_per_vehicles.ipynb b/examples/notebook/constraint_solver/vrp_time_windows_per_vehicles.ipynb index 832650fc9f..2383eb877b 100644 --- a/examples/notebook/constraint_solver/vrp_time_windows_per_vehicles.ipynb +++ b/examples/notebook/constraint_solver/vrp_time_windows_per_vehicles.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/vrp_tokens.ipynb b/examples/notebook/constraint_solver/vrp_tokens.ipynb index 4097c1c96c..64b782e9bc 100644 --- a/examples/notebook/constraint_solver/vrp_tokens.ipynb +++ b/examples/notebook/constraint_solver/vrp_tokens.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/vrp_with_time_limit.ipynb b/examples/notebook/constraint_solver/vrp_with_time_limit.ipynb index be2f359492..1e32a7560a 100644 --- a/examples/notebook/constraint_solver/vrp_with_time_limit.ipynb +++ b/examples/notebook/constraint_solver/vrp_with_time_limit.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/vrpgs.ipynb b/examples/notebook/constraint_solver/vrpgs.ipynb index d6a76a0f17..3f9a9f9d2a 100644 --- a/examples/notebook/constraint_solver/vrpgs.ipynb +++ b/examples/notebook/constraint_solver/vrpgs.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/constraint_solver/vrptw_store_solution_data.ipynb b/examples/notebook/constraint_solver/vrptw_store_solution_data.ipynb index 08dd65d82c..ee0d0a00a5 100644 --- a/examples/notebook/constraint_solver/vrptw_store_solution_data.ipynb +++ b/examples/notebook/constraint_solver/vrptw_store_solution_data.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/3_jugs_mip.ipynb b/examples/notebook/contrib/3_jugs_mip.ipynb index d524c71fc5..6ceed31407 100644 --- a/examples/notebook/contrib/3_jugs_mip.ipynb +++ b/examples/notebook/contrib/3_jugs_mip.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/3_jugs_regular.ipynb b/examples/notebook/contrib/3_jugs_regular.ipynb index 09a3b718f5..4d93889d4b 100644 --- a/examples/notebook/contrib/3_jugs_regular.ipynb +++ b/examples/notebook/contrib/3_jugs_regular.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/a_round_of_golf.ipynb b/examples/notebook/contrib/a_round_of_golf.ipynb index 4ebcfb378d..5e89d4e3c8 100644 --- a/examples/notebook/contrib/a_round_of_golf.ipynb +++ b/examples/notebook/contrib/a_round_of_golf.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/all_interval.ipynb b/examples/notebook/contrib/all_interval.ipynb index 428ba201f9..25706a2d7c 100644 --- a/examples/notebook/contrib/all_interval.ipynb +++ b/examples/notebook/contrib/all_interval.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/alldifferent_except_0.ipynb b/examples/notebook/contrib/alldifferent_except_0.ipynb index 0bcc12c820..508f9bc187 100644 --- a/examples/notebook/contrib/alldifferent_except_0.ipynb +++ b/examples/notebook/contrib/alldifferent_except_0.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/alphametic.ipynb b/examples/notebook/contrib/alphametic.ipynb index 1a677d2023..30b7a3c9a2 100644 --- a/examples/notebook/contrib/alphametic.ipynb +++ b/examples/notebook/contrib/alphametic.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/assignment.ipynb b/examples/notebook/contrib/assignment.ipynb index 4a597dd27c..4292c14377 100644 --- a/examples/notebook/contrib/assignment.ipynb +++ b/examples/notebook/contrib/assignment.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/assignment6_mip.ipynb b/examples/notebook/contrib/assignment6_mip.ipynb index 74734dc1ef..adeacec805 100644 --- a/examples/notebook/contrib/assignment6_mip.ipynb +++ b/examples/notebook/contrib/assignment6_mip.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/bacp.ipynb b/examples/notebook/contrib/bacp.ipynb index e7a1130569..db06c0c77b 100644 --- a/examples/notebook/contrib/bacp.ipynb +++ b/examples/notebook/contrib/bacp.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/blending.ipynb b/examples/notebook/contrib/blending.ipynb index 99d8ebcaa0..11ba8aa3f5 100644 --- a/examples/notebook/contrib/blending.ipynb +++ b/examples/notebook/contrib/blending.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/broken_weights.ipynb b/examples/notebook/contrib/broken_weights.ipynb index a76b8b22ed..bcfbaf1dde 100644 --- a/examples/notebook/contrib/broken_weights.ipynb +++ b/examples/notebook/contrib/broken_weights.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/bus_schedule.ipynb b/examples/notebook/contrib/bus_schedule.ipynb index 423dd26f22..b20cf937a4 100644 --- a/examples/notebook/contrib/bus_schedule.ipynb +++ b/examples/notebook/contrib/bus_schedule.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/car.ipynb b/examples/notebook/contrib/car.ipynb index 907bada60e..24ae2afb92 100644 --- a/examples/notebook/contrib/car.ipynb +++ b/examples/notebook/contrib/car.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/check_dependencies.ipynb b/examples/notebook/contrib/check_dependencies.ipynb index 8cdd421dde..1f86d3eb37 100644 --- a/examples/notebook/contrib/check_dependencies.ipynb +++ b/examples/notebook/contrib/check_dependencies.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/circuit.ipynb b/examples/notebook/contrib/circuit.ipynb index 83b27b1820..e42ac17c2d 100644 --- a/examples/notebook/contrib/circuit.ipynb +++ b/examples/notebook/contrib/circuit.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/coins3.ipynb b/examples/notebook/contrib/coins3.ipynb index 0ffd62a76e..c2eaff752a 100644 --- a/examples/notebook/contrib/coins3.ipynb +++ b/examples/notebook/contrib/coins3.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/coins_grid.ipynb b/examples/notebook/contrib/coins_grid.ipynb index fd003d12a3..4aea4d715a 100644 --- a/examples/notebook/contrib/coins_grid.ipynb +++ b/examples/notebook/contrib/coins_grid.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/coins_grid_mip.ipynb b/examples/notebook/contrib/coins_grid_mip.ipynb index 936cad2764..14d84951cc 100644 --- a/examples/notebook/contrib/coins_grid_mip.ipynb +++ b/examples/notebook/contrib/coins_grid_mip.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/coloring_ip.ipynb b/examples/notebook/contrib/coloring_ip.ipynb index e3699f1db4..889b94a176 100644 --- a/examples/notebook/contrib/coloring_ip.ipynb +++ b/examples/notebook/contrib/coloring_ip.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/combinatorial_auction2.ipynb b/examples/notebook/contrib/combinatorial_auction2.ipynb index ced276151f..21272330f4 100644 --- a/examples/notebook/contrib/combinatorial_auction2.ipynb +++ b/examples/notebook/contrib/combinatorial_auction2.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/contiguity_regular.ipynb b/examples/notebook/contrib/contiguity_regular.ipynb index de238dd9f9..9e06d36910 100644 --- a/examples/notebook/contrib/contiguity_regular.ipynb +++ b/examples/notebook/contrib/contiguity_regular.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/costas_array.ipynb b/examples/notebook/contrib/costas_array.ipynb index 7052ab7052..21348c4cee 100644 --- a/examples/notebook/contrib/costas_array.ipynb +++ b/examples/notebook/contrib/costas_array.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/covering_opl.ipynb b/examples/notebook/contrib/covering_opl.ipynb index 3435f7c6be..e43cfa2ea0 100644 --- a/examples/notebook/contrib/covering_opl.ipynb +++ b/examples/notebook/contrib/covering_opl.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/crew.ipynb b/examples/notebook/contrib/crew.ipynb index 1a091eea17..9a61a83f14 100644 --- a/examples/notebook/contrib/crew.ipynb +++ b/examples/notebook/contrib/crew.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/crossword2.ipynb b/examples/notebook/contrib/crossword2.ipynb index 07bb864848..e0085039ad 100644 --- a/examples/notebook/contrib/crossword2.ipynb +++ b/examples/notebook/contrib/crossword2.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/crypta.ipynb b/examples/notebook/contrib/crypta.ipynb index 3b6fa0733d..11f7611774 100644 --- a/examples/notebook/contrib/crypta.ipynb +++ b/examples/notebook/contrib/crypta.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/crypto.ipynb b/examples/notebook/contrib/crypto.ipynb index dd3d6f9862..759d08a466 100644 --- a/examples/notebook/contrib/crypto.ipynb +++ b/examples/notebook/contrib/crypto.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/curious_set_of_integers.ipynb b/examples/notebook/contrib/curious_set_of_integers.ipynb index c6b21047e7..530adcf3bf 100644 --- a/examples/notebook/contrib/curious_set_of_integers.ipynb +++ b/examples/notebook/contrib/curious_set_of_integers.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/debruijn_binary.ipynb b/examples/notebook/contrib/debruijn_binary.ipynb index 8ece6da2be..f945c4abc2 100644 --- a/examples/notebook/contrib/debruijn_binary.ipynb +++ b/examples/notebook/contrib/debruijn_binary.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/diet1.ipynb b/examples/notebook/contrib/diet1.ipynb index 522ef68063..be2c11f5b4 100644 --- a/examples/notebook/contrib/diet1.ipynb +++ b/examples/notebook/contrib/diet1.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/diet1_b.ipynb b/examples/notebook/contrib/diet1_b.ipynb index 3479e4ccc7..20b8ac450f 100644 --- a/examples/notebook/contrib/diet1_b.ipynb +++ b/examples/notebook/contrib/diet1_b.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/diet1_mip.ipynb b/examples/notebook/contrib/diet1_mip.ipynb index f54b5222ec..15df4e0810 100644 --- a/examples/notebook/contrib/diet1_mip.ipynb +++ b/examples/notebook/contrib/diet1_mip.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/discrete_tomography.ipynb b/examples/notebook/contrib/discrete_tomography.ipynb index e459858055..c3630b39a0 100644 --- a/examples/notebook/contrib/discrete_tomography.ipynb +++ b/examples/notebook/contrib/discrete_tomography.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/divisible_by_9_through_1.ipynb b/examples/notebook/contrib/divisible_by_9_through_1.ipynb index 90b8e7a259..96a69fb9b6 100644 --- a/examples/notebook/contrib/divisible_by_9_through_1.ipynb +++ b/examples/notebook/contrib/divisible_by_9_through_1.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/dudeney.ipynb b/examples/notebook/contrib/dudeney.ipynb index 30d1001c91..3ec279d3ac 100644 --- a/examples/notebook/contrib/dudeney.ipynb +++ b/examples/notebook/contrib/dudeney.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/einav_puzzle.ipynb b/examples/notebook/contrib/einav_puzzle.ipynb index 7019e52535..5d0a803580 100644 --- a/examples/notebook/contrib/einav_puzzle.ipynb +++ b/examples/notebook/contrib/einav_puzzle.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/einav_puzzle2.ipynb b/examples/notebook/contrib/einav_puzzle2.ipynb index 919cd215b5..d0dad44704 100644 --- a/examples/notebook/contrib/einav_puzzle2.ipynb +++ b/examples/notebook/contrib/einav_puzzle2.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/eq10.ipynb b/examples/notebook/contrib/eq10.ipynb index 291570ccec..be8f7a734e 100644 --- a/examples/notebook/contrib/eq10.ipynb +++ b/examples/notebook/contrib/eq10.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/eq20.ipynb b/examples/notebook/contrib/eq20.ipynb index 0c67477806..d748f102ea 100644 --- a/examples/notebook/contrib/eq20.ipynb +++ b/examples/notebook/contrib/eq20.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/fill_a_pix.ipynb b/examples/notebook/contrib/fill_a_pix.ipynb index 13fe935d18..026ca75178 100644 --- a/examples/notebook/contrib/fill_a_pix.ipynb +++ b/examples/notebook/contrib/fill_a_pix.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/furniture_moving.ipynb b/examples/notebook/contrib/furniture_moving.ipynb index 305c29a379..e5962a9669 100644 --- a/examples/notebook/contrib/furniture_moving.ipynb +++ b/examples/notebook/contrib/furniture_moving.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/futoshiki.ipynb b/examples/notebook/contrib/futoshiki.ipynb index c7d2de4a0d..e2e4889ff0 100644 --- a/examples/notebook/contrib/futoshiki.ipynb +++ b/examples/notebook/contrib/futoshiki.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/game_theory_taha.ipynb b/examples/notebook/contrib/game_theory_taha.ipynb index ca21ee20b1..ffb4a7baaa 100644 --- a/examples/notebook/contrib/game_theory_taha.ipynb +++ b/examples/notebook/contrib/game_theory_taha.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/grocery.ipynb b/examples/notebook/contrib/grocery.ipynb index 24a68aa615..8fdd846bf4 100644 --- a/examples/notebook/contrib/grocery.ipynb +++ b/examples/notebook/contrib/grocery.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/hidato.ipynb b/examples/notebook/contrib/hidato.ipynb index 3fd203d7c9..a5d69aaeb3 100644 --- a/examples/notebook/contrib/hidato.ipynb +++ b/examples/notebook/contrib/hidato.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/just_forgotten.ipynb b/examples/notebook/contrib/just_forgotten.ipynb index 7320c1be7f..5256472d50 100644 --- a/examples/notebook/contrib/just_forgotten.ipynb +++ b/examples/notebook/contrib/just_forgotten.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/kakuro.ipynb b/examples/notebook/contrib/kakuro.ipynb index 3e51b2efa1..8f2114de06 100644 --- a/examples/notebook/contrib/kakuro.ipynb +++ b/examples/notebook/contrib/kakuro.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/kenken2.ipynb b/examples/notebook/contrib/kenken2.ipynb index ad646ebd49..f1576b349c 100644 --- a/examples/notebook/contrib/kenken2.ipynb +++ b/examples/notebook/contrib/kenken2.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/killer_sudoku.ipynb b/examples/notebook/contrib/killer_sudoku.ipynb index 623bb57c8f..403121c8f7 100644 --- a/examples/notebook/contrib/killer_sudoku.ipynb +++ b/examples/notebook/contrib/killer_sudoku.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/knapsack_cp.ipynb b/examples/notebook/contrib/knapsack_cp.ipynb index c1716a86d5..c7deebcf82 100644 --- a/examples/notebook/contrib/knapsack_cp.ipynb +++ b/examples/notebook/contrib/knapsack_cp.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/knapsack_mip.ipynb b/examples/notebook/contrib/knapsack_mip.ipynb index 43325fc2bf..fda1aebf5e 100644 --- a/examples/notebook/contrib/knapsack_mip.ipynb +++ b/examples/notebook/contrib/knapsack_mip.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/labeled_dice.ipynb b/examples/notebook/contrib/labeled_dice.ipynb index 917060587b..cef1e528f1 100644 --- a/examples/notebook/contrib/labeled_dice.ipynb +++ b/examples/notebook/contrib/labeled_dice.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/langford.ipynb b/examples/notebook/contrib/langford.ipynb index fee2786f3b..295172b763 100644 --- a/examples/notebook/contrib/langford.ipynb +++ b/examples/notebook/contrib/langford.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/least_diff.ipynb b/examples/notebook/contrib/least_diff.ipynb index 79beda4bfe..613fbfaf1b 100644 --- a/examples/notebook/contrib/least_diff.ipynb +++ b/examples/notebook/contrib/least_diff.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/least_square.ipynb b/examples/notebook/contrib/least_square.ipynb index 89c4ec74a2..daa8b2ee4d 100644 --- a/examples/notebook/contrib/least_square.ipynb +++ b/examples/notebook/contrib/least_square.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/lectures.ipynb b/examples/notebook/contrib/lectures.ipynb index 690f4b42b9..4f69d69bb3 100644 --- a/examples/notebook/contrib/lectures.ipynb +++ b/examples/notebook/contrib/lectures.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/magic_sequence_sat.ipynb b/examples/notebook/contrib/magic_sequence_sat.ipynb index ef76ec4eb0..7123d26248 100644 --- a/examples/notebook/contrib/magic_sequence_sat.ipynb +++ b/examples/notebook/contrib/magic_sequence_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/magic_square.ipynb b/examples/notebook/contrib/magic_square.ipynb index a0875202e6..92bec3615e 100644 --- a/examples/notebook/contrib/magic_square.ipynb +++ b/examples/notebook/contrib/magic_square.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/magic_square_and_cards.ipynb b/examples/notebook/contrib/magic_square_and_cards.ipynb index 4d1bcab815..a411e61783 100644 --- a/examples/notebook/contrib/magic_square_and_cards.ipynb +++ b/examples/notebook/contrib/magic_square_and_cards.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/magic_square_mip.ipynb b/examples/notebook/contrib/magic_square_mip.ipynb index 305cb79ddd..b09aac9bb3 100644 --- a/examples/notebook/contrib/magic_square_mip.ipynb +++ b/examples/notebook/contrib/magic_square_mip.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/map.ipynb b/examples/notebook/contrib/map.ipynb index b02fc4b4ca..d941c40972 100644 --- a/examples/notebook/contrib/map.ipynb +++ b/examples/notebook/contrib/map.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/marathon2.ipynb b/examples/notebook/contrib/marathon2.ipynb index 6af9c9df59..19a124391e 100644 --- a/examples/notebook/contrib/marathon2.ipynb +++ b/examples/notebook/contrib/marathon2.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/max_flow_taha.ipynb b/examples/notebook/contrib/max_flow_taha.ipynb index c05a436bd1..20df3ce14a 100644 --- a/examples/notebook/contrib/max_flow_taha.ipynb +++ b/examples/notebook/contrib/max_flow_taha.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/max_flow_winston1.ipynb b/examples/notebook/contrib/max_flow_winston1.ipynb index 8682ff1117..34a5e91fc4 100644 --- a/examples/notebook/contrib/max_flow_winston1.ipynb +++ b/examples/notebook/contrib/max_flow_winston1.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/minesweeper.ipynb b/examples/notebook/contrib/minesweeper.ipynb index b42f84b726..9901cdb30c 100644 --- a/examples/notebook/contrib/minesweeper.ipynb +++ b/examples/notebook/contrib/minesweeper.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/mr_smith.ipynb b/examples/notebook/contrib/mr_smith.ipynb index 3cb2c93bc1..3d7e60b505 100644 --- a/examples/notebook/contrib/mr_smith.ipynb +++ b/examples/notebook/contrib/mr_smith.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/nonogram_default_search.ipynb b/examples/notebook/contrib/nonogram_default_search.ipynb index d71593736f..31973266bd 100644 --- a/examples/notebook/contrib/nonogram_default_search.ipynb +++ b/examples/notebook/contrib/nonogram_default_search.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/nonogram_regular.ipynb b/examples/notebook/contrib/nonogram_regular.ipynb index 0cbabc9a69..694af974a6 100644 --- a/examples/notebook/contrib/nonogram_regular.ipynb +++ b/examples/notebook/contrib/nonogram_regular.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/nonogram_table.ipynb b/examples/notebook/contrib/nonogram_table.ipynb index 0238a58e9f..db313f8905 100644 --- a/examples/notebook/contrib/nonogram_table.ipynb +++ b/examples/notebook/contrib/nonogram_table.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/nonogram_table2.ipynb b/examples/notebook/contrib/nonogram_table2.ipynb index 62b592a9f4..0296fda801 100644 --- a/examples/notebook/contrib/nonogram_table2.ipynb +++ b/examples/notebook/contrib/nonogram_table2.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/nontransitive_dice.ipynb b/examples/notebook/contrib/nontransitive_dice.ipynb index 3f8fc97c7a..49b0d6f7fb 100644 --- a/examples/notebook/contrib/nontransitive_dice.ipynb +++ b/examples/notebook/contrib/nontransitive_dice.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/nqueens.ipynb b/examples/notebook/contrib/nqueens.ipynb index 439e21beb5..7fe5f65ff0 100644 --- a/examples/notebook/contrib/nqueens.ipynb +++ b/examples/notebook/contrib/nqueens.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/nqueens2.ipynb b/examples/notebook/contrib/nqueens2.ipynb index e951c47e94..d83151be41 100644 --- a/examples/notebook/contrib/nqueens2.ipynb +++ b/examples/notebook/contrib/nqueens2.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/nqueens3.ipynb b/examples/notebook/contrib/nqueens3.ipynb index ec825bf70c..d58d2007aa 100644 --- a/examples/notebook/contrib/nqueens3.ipynb +++ b/examples/notebook/contrib/nqueens3.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/nurse_rostering.ipynb b/examples/notebook/contrib/nurse_rostering.ipynb index 2c2b22afee..fbb18cbea2 100644 --- a/examples/notebook/contrib/nurse_rostering.ipynb +++ b/examples/notebook/contrib/nurse_rostering.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/nurses_cp.ipynb b/examples/notebook/contrib/nurses_cp.ipynb index 42c7ddd86c..b96071f8c7 100644 --- a/examples/notebook/contrib/nurses_cp.ipynb +++ b/examples/notebook/contrib/nurses_cp.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/olympic.ipynb b/examples/notebook/contrib/olympic.ipynb index 40df2a47bd..198f5bd4fa 100644 --- a/examples/notebook/contrib/olympic.ipynb +++ b/examples/notebook/contrib/olympic.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/organize_day.ipynb b/examples/notebook/contrib/organize_day.ipynb index 25ef9ec2ab..f76540925c 100644 --- a/examples/notebook/contrib/organize_day.ipynb +++ b/examples/notebook/contrib/organize_day.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/p_median.ipynb b/examples/notebook/contrib/p_median.ipynb index 146a2bddee..2e71adab14 100644 --- a/examples/notebook/contrib/p_median.ipynb +++ b/examples/notebook/contrib/p_median.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/pandigital_numbers.ipynb b/examples/notebook/contrib/pandigital_numbers.ipynb index 53668a8c81..3c9ce3ce57 100644 --- a/examples/notebook/contrib/pandigital_numbers.ipynb +++ b/examples/notebook/contrib/pandigital_numbers.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/photo_problem.ipynb b/examples/notebook/contrib/photo_problem.ipynb index b29b43ad18..4364ba2ac4 100644 --- a/examples/notebook/contrib/photo_problem.ipynb +++ b/examples/notebook/contrib/photo_problem.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/place_number_puzzle.ipynb b/examples/notebook/contrib/place_number_puzzle.ipynb index bcbd6b84ea..e5f32c3c95 100644 --- a/examples/notebook/contrib/place_number_puzzle.ipynb +++ b/examples/notebook/contrib/place_number_puzzle.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/post_office_problem2.ipynb b/examples/notebook/contrib/post_office_problem2.ipynb index a23b75dcd6..24506a4b8c 100644 --- a/examples/notebook/contrib/post_office_problem2.ipynb +++ b/examples/notebook/contrib/post_office_problem2.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/production.ipynb b/examples/notebook/contrib/production.ipynb index 814a6b76c6..cbaa98cd26 100644 --- a/examples/notebook/contrib/production.ipynb +++ b/examples/notebook/contrib/production.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/project_scheduling_sat.ipynb b/examples/notebook/contrib/project_scheduling_sat.ipynb index d9c8d4be68..f82f6d5d29 100644 --- a/examples/notebook/contrib/project_scheduling_sat.ipynb +++ b/examples/notebook/contrib/project_scheduling_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/pyls_api.ipynb b/examples/notebook/contrib/pyls_api.ipynb index 7a9e206b56..345343a965 100644 --- a/examples/notebook/contrib/pyls_api.ipynb +++ b/examples/notebook/contrib/pyls_api.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/quasigroup_completion.ipynb b/examples/notebook/contrib/quasigroup_completion.ipynb index 6a1ce82b27..33028aa0cc 100644 --- a/examples/notebook/contrib/quasigroup_completion.ipynb +++ b/examples/notebook/contrib/quasigroup_completion.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/regular.ipynb b/examples/notebook/contrib/regular.ipynb index 324951e6aa..f59eb45c7b 100644 --- a/examples/notebook/contrib/regular.ipynb +++ b/examples/notebook/contrib/regular.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/regular_table.ipynb b/examples/notebook/contrib/regular_table.ipynb index efd9a4e274..52d31810cf 100644 --- a/examples/notebook/contrib/regular_table.ipynb +++ b/examples/notebook/contrib/regular_table.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/regular_table2.ipynb b/examples/notebook/contrib/regular_table2.ipynb index 9e24cdb570..03cf079a6c 100644 --- a/examples/notebook/contrib/regular_table2.ipynb +++ b/examples/notebook/contrib/regular_table2.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/rogo2.ipynb b/examples/notebook/contrib/rogo2.ipynb index afa4866b91..7dadf36417 100644 --- a/examples/notebook/contrib/rogo2.ipynb +++ b/examples/notebook/contrib/rogo2.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/rostering_with_travel.ipynb b/examples/notebook/contrib/rostering_with_travel.ipynb index 588fc32f92..502f3364d1 100644 --- a/examples/notebook/contrib/rostering_with_travel.ipynb +++ b/examples/notebook/contrib/rostering_with_travel.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/safe_cracking.ipynb b/examples/notebook/contrib/safe_cracking.ipynb index 0722c4dfc1..e29d03bc6d 100644 --- a/examples/notebook/contrib/safe_cracking.ipynb +++ b/examples/notebook/contrib/safe_cracking.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/scheduling_speakers.ipynb b/examples/notebook/contrib/scheduling_speakers.ipynb index 8dd73029c7..eadf8ffb5c 100644 --- a/examples/notebook/contrib/scheduling_speakers.ipynb +++ b/examples/notebook/contrib/scheduling_speakers.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/scheduling_with_transitions_sat.ipynb b/examples/notebook/contrib/scheduling_with_transitions_sat.ipynb index f4ab64bf51..54bd4256d5 100644 --- a/examples/notebook/contrib/scheduling_with_transitions_sat.ipynb +++ b/examples/notebook/contrib/scheduling_with_transitions_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/school_scheduling_sat.ipynb b/examples/notebook/contrib/school_scheduling_sat.ipynb index 6165abef81..24f9b804d7 100644 --- a/examples/notebook/contrib/school_scheduling_sat.ipynb +++ b/examples/notebook/contrib/school_scheduling_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/secret_santa.ipynb b/examples/notebook/contrib/secret_santa.ipynb index eb09d3ea10..2ef23f6330 100644 --- a/examples/notebook/contrib/secret_santa.ipynb +++ b/examples/notebook/contrib/secret_santa.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/secret_santa2.ipynb b/examples/notebook/contrib/secret_santa2.ipynb index e6acf19644..535650262e 100644 --- a/examples/notebook/contrib/secret_santa2.ipynb +++ b/examples/notebook/contrib/secret_santa2.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/send_more_money_any_base.ipynb b/examples/notebook/contrib/send_more_money_any_base.ipynb index 07246d274c..86e6ac9824 100644 --- a/examples/notebook/contrib/send_more_money_any_base.ipynb +++ b/examples/notebook/contrib/send_more_money_any_base.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/send_most_money.ipynb b/examples/notebook/contrib/send_most_money.ipynb index 930229739e..b1dbedea3b 100644 --- a/examples/notebook/contrib/send_most_money.ipynb +++ b/examples/notebook/contrib/send_most_money.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/seseman.ipynb b/examples/notebook/contrib/seseman.ipynb index 7ccfc8ed4c..bba7f749dd 100644 --- a/examples/notebook/contrib/seseman.ipynb +++ b/examples/notebook/contrib/seseman.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/seseman_b.ipynb b/examples/notebook/contrib/seseman_b.ipynb index 781a560d61..8407d65e58 100644 --- a/examples/notebook/contrib/seseman_b.ipynb +++ b/examples/notebook/contrib/seseman_b.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/set_covering.ipynb b/examples/notebook/contrib/set_covering.ipynb index 86ad62f680..b7c9eae321 100644 --- a/examples/notebook/contrib/set_covering.ipynb +++ b/examples/notebook/contrib/set_covering.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/set_covering2.ipynb b/examples/notebook/contrib/set_covering2.ipynb index 8c4d56f10a..fa5dde56f0 100644 --- a/examples/notebook/contrib/set_covering2.ipynb +++ b/examples/notebook/contrib/set_covering2.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/set_covering3.ipynb b/examples/notebook/contrib/set_covering3.ipynb index 3af24ed271..a58a9308ff 100644 --- a/examples/notebook/contrib/set_covering3.ipynb +++ b/examples/notebook/contrib/set_covering3.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/set_covering4.ipynb b/examples/notebook/contrib/set_covering4.ipynb index 8ddbb50c1a..1b8de5dda6 100644 --- a/examples/notebook/contrib/set_covering4.ipynb +++ b/examples/notebook/contrib/set_covering4.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/set_covering_deployment.ipynb b/examples/notebook/contrib/set_covering_deployment.ipynb index 134d01341e..93427d222d 100644 --- a/examples/notebook/contrib/set_covering_deployment.ipynb +++ b/examples/notebook/contrib/set_covering_deployment.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/set_covering_skiena.ipynb b/examples/notebook/contrib/set_covering_skiena.ipynb index 5ed456c17b..c6769592ef 100644 --- a/examples/notebook/contrib/set_covering_skiena.ipynb +++ b/examples/notebook/contrib/set_covering_skiena.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/set_partition.ipynb b/examples/notebook/contrib/set_partition.ipynb index c5e9d02cc5..c3c89c8cba 100644 --- a/examples/notebook/contrib/set_partition.ipynb +++ b/examples/notebook/contrib/set_partition.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/sicherman_dice.ipynb b/examples/notebook/contrib/sicherman_dice.ipynb index 0c28a6cbb8..2274d03a85 100644 --- a/examples/notebook/contrib/sicherman_dice.ipynb +++ b/examples/notebook/contrib/sicherman_dice.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/ski_assignment.ipynb b/examples/notebook/contrib/ski_assignment.ipynb index 3b6994f61d..1f821da9bc 100644 --- a/examples/notebook/contrib/ski_assignment.ipynb +++ b/examples/notebook/contrib/ski_assignment.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/slitherlink.ipynb b/examples/notebook/contrib/slitherlink.ipynb index 883410c490..096054e019 100644 --- a/examples/notebook/contrib/slitherlink.ipynb +++ b/examples/notebook/contrib/slitherlink.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/sports_schedule_sat.ipynb b/examples/notebook/contrib/sports_schedule_sat.ipynb index 51feb126b1..b5895dc8b3 100644 --- a/examples/notebook/contrib/sports_schedule_sat.ipynb +++ b/examples/notebook/contrib/sports_schedule_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/stable_marriage.ipynb b/examples/notebook/contrib/stable_marriage.ipynb index 2034453cf2..7d61090bdd 100644 --- a/examples/notebook/contrib/stable_marriage.ipynb +++ b/examples/notebook/contrib/stable_marriage.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/stable_marriage_sat.ipynb b/examples/notebook/contrib/stable_marriage_sat.ipynb index a935b346cc..78862fb678 100644 --- a/examples/notebook/contrib/stable_marriage_sat.ipynb +++ b/examples/notebook/contrib/stable_marriage_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/steel.ipynb b/examples/notebook/contrib/steel.ipynb index 1ab5a7f3b9..aff1428303 100644 --- a/examples/notebook/contrib/steel.ipynb +++ b/examples/notebook/contrib/steel.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/steel_lns.ipynb b/examples/notebook/contrib/steel_lns.ipynb index 546e1afa5d..8fe81504f7 100644 --- a/examples/notebook/contrib/steel_lns.ipynb +++ b/examples/notebook/contrib/steel_lns.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/stigler_contrib.ipynb b/examples/notebook/contrib/stigler_contrib.ipynb index 2bde439855..47c48f8621 100644 --- a/examples/notebook/contrib/stigler_contrib.ipynb +++ b/examples/notebook/contrib/stigler_contrib.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/strimko2.ipynb b/examples/notebook/contrib/strimko2.ipynb index 5047828493..9295011ce2 100644 --- a/examples/notebook/contrib/strimko2.ipynb +++ b/examples/notebook/contrib/strimko2.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/subset_sum.ipynb b/examples/notebook/contrib/subset_sum.ipynb index 361e986f95..9cf9877e83 100644 --- a/examples/notebook/contrib/subset_sum.ipynb +++ b/examples/notebook/contrib/subset_sum.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/survo_puzzle.ipynb b/examples/notebook/contrib/survo_puzzle.ipynb index a61901b842..729c4b06a6 100644 --- a/examples/notebook/contrib/survo_puzzle.ipynb +++ b/examples/notebook/contrib/survo_puzzle.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/toNum.ipynb b/examples/notebook/contrib/toNum.ipynb index 2f90728ad9..7cc07858b6 100644 --- a/examples/notebook/contrib/toNum.ipynb +++ b/examples/notebook/contrib/toNum.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/traffic_lights.ipynb b/examples/notebook/contrib/traffic_lights.ipynb index d54f84914b..29ffa3d1e2 100644 --- a/examples/notebook/contrib/traffic_lights.ipynb +++ b/examples/notebook/contrib/traffic_lights.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/vendor_scheduling.ipynb b/examples/notebook/contrib/vendor_scheduling.ipynb index 62cd9fff00..eb57a3eaf9 100644 --- a/examples/notebook/contrib/vendor_scheduling.ipynb +++ b/examples/notebook/contrib/vendor_scheduling.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/volsay.ipynb b/examples/notebook/contrib/volsay.ipynb index 8325f5995d..03dcfb18b8 100644 --- a/examples/notebook/contrib/volsay.ipynb +++ b/examples/notebook/contrib/volsay.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/volsay2.ipynb b/examples/notebook/contrib/volsay2.ipynb index 3a135ae64a..97ae119b3d 100644 --- a/examples/notebook/contrib/volsay2.ipynb +++ b/examples/notebook/contrib/volsay2.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/volsay3.ipynb b/examples/notebook/contrib/volsay3.ipynb index 5e848d4949..227fcbad66 100644 --- a/examples/notebook/contrib/volsay3.ipynb +++ b/examples/notebook/contrib/volsay3.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/wedding_optimal_chart.ipynb b/examples/notebook/contrib/wedding_optimal_chart.ipynb index 80a7fe2c51..06e614d256 100644 --- a/examples/notebook/contrib/wedding_optimal_chart.ipynb +++ b/examples/notebook/contrib/wedding_optimal_chart.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/who_killed_agatha.ipynb b/examples/notebook/contrib/who_killed_agatha.ipynb index bd94ea8993..533326e8b2 100644 --- a/examples/notebook/contrib/who_killed_agatha.ipynb +++ b/examples/notebook/contrib/who_killed_agatha.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/xkcd.ipynb b/examples/notebook/contrib/xkcd.ipynb index 712342d23f..a71aeaec96 100644 --- a/examples/notebook/contrib/xkcd.ipynb +++ b/examples/notebook/contrib/xkcd.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/contrib/young_tableaux.ipynb b/examples/notebook/contrib/young_tableaux.ipynb index c660e57429..a995b50ad8 100644 --- a/examples/notebook/contrib/young_tableaux.ipynb +++ b/examples/notebook/contrib/young_tableaux.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/appointments.ipynb b/examples/notebook/examples/appointments.ipynb index aa5bda9a11..88e9f80d79 100644 --- a/examples/notebook/examples/appointments.ipynb +++ b/examples/notebook/examples/appointments.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { @@ -89,14 +89,15 @@ "metadata": {}, "outputs": [], "source": [ + "from ortools.sat.colab import flags\n", "from ortools.linear_solver import pywraplp\n", "from ortools.sat.python import cp_model\n", "\n", "\n", - "_LOAD_MIN = flags.DEFINE_integer(\"load_min\", 480, \"Minimum load in minutes.\")\n", - "_LOAD_MAX = flags.DEFINE_integer(\"load_max\", 540, \"Maximum load in minutes.\")\n", - "_COMMUTE_TIME = flags.DEFINE_integer(\"commute_time\", 30, \"Commute time in minutes.\")\n", - "_NUM_WORKERS = flags.DEFINE_integer(\"num_workers\", 98, \"Maximum number of workers.\")\n", + "_LOAD_MIN = flags.define_integer(\"load_min\", 480, \"Minimum load in minutes.\")\n", + "_LOAD_MAX = flags.define_integer(\"load_max\", 540, \"Maximum load in minutes.\")\n", + "_COMMUTE_TIME = flags.define_integer(\"commute_time\", 30, \"Commute time in minutes.\")\n", + "_NUM_WORKERS = flags.define_integer(\"num_workers\", 98, \"Maximum number of workers.\")\n", "\n", "\n", "class AllSolutionCollector(cp_model.CpSolverSolutionCallback):\n", diff --git a/examples/notebook/examples/arc_flow_cutting_stock_sat.ipynb b/examples/notebook/examples/arc_flow_cutting_stock_sat.ipynb index f92a246280..1788cf0260 100644 --- a/examples/notebook/examples/arc_flow_cutting_stock_sat.ipynb +++ b/examples/notebook/examples/arc_flow_cutting_stock_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { @@ -87,19 +87,20 @@ "import time\n", "import numpy as np\n", "\n", + "from ortools.sat.colab import flags\n", "from google.protobuf import text_format\n", "from ortools.linear_solver.python import model_builder as mb\n", "from ortools.sat.python import cp_model\n", "\n", - "class FLAGS: pass\n", + "FLAGS = flags.FLAGS\n", "\n", - "_OUTPUT_PROTO = flags.DEFINE_string(\n", + "_OUTPUT_PROTO = flags.define_string(\n", " 'output_proto', '', 'Output file to write the cp_model proto to.')\n", - "_PARAMS = flags.DEFINE_string(\n", + "_PARAMS = flags.define_string(\n", " 'params',\n", " 'num_search_workers:8,log_search_progress:true,max_time_in_seconds:10',\n", " 'Sat solver parameters.')\n", - "_SOLVER = flags.DEFINE_string(\n", + "_SOLVER = flags.define_string(\n", " 'solver', 'sat', 'Method used to solve: sat, mip.')\n", "\n", "\n", diff --git a/examples/notebook/examples/assignment_with_constraints_sat.ipynb b/examples/notebook/examples/assignment_with_constraints_sat.ipynb index 341ebe2086..bc771f903c 100644 --- a/examples/notebook/examples/assignment_with_constraints_sat.ipynb +++ b/examples/notebook/examples/assignment_with_constraints_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/balance_group_sat.ipynb b/examples/notebook/examples/balance_group_sat.ipynb index 3d2cda0335..35af620fc3 100644 --- a/examples/notebook/examples/balance_group_sat.ipynb +++ b/examples/notebook/examples/balance_group_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/bus_driver_scheduling_flow_sat.ipynb b/examples/notebook/examples/bus_driver_scheduling_flow_sat.ipynb index bf4fc694d8..8f736c505c 100644 --- a/examples/notebook/examples/bus_driver_scheduling_flow_sat.ipynb +++ b/examples/notebook/examples/bus_driver_scheduling_flow_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/bus_driver_scheduling_sat.ipynb b/examples/notebook/examples/bus_driver_scheduling_sat.ipynb index 5f05a9503e..0c6d3724fc 100644 --- a/examples/notebook/examples/bus_driver_scheduling_sat.ipynb +++ b/examples/notebook/examples/bus_driver_scheduling_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { @@ -96,18 +96,19 @@ "import collections\n", "import math\n", "\n", + "from ortools.sat.colab import flags\n", "from google.protobuf import text_format\n", "from ortools.sat.python import cp_model\n", "\n", - "_OUTPUT_PROTO = flags.DEFINE_string(\n", + "_OUTPUT_PROTO = flags.define_string(\n", " \"output_proto\", \"\", \"Output file to write the cp_model proto to.\"\n", ")\n", - "_PARAMS = flags.DEFINE_string(\n", + "_PARAMS = flags.define_string(\n", " \"params\",\n", " \"num_search_workers:16,log_search_progress:true,max_time_in_seconds:30\",\n", " \"Sat solver parameters.\",\n", ")\n", - "_INSTANCE = flags.DEFINE_integer(\n", + "_INSTANCE = flags.define_integer(\n", " \"instance\", 0, \"Instance to select (0, 1, 2, 3).\", 0, 3\n", ")\n", "\n", diff --git a/examples/notebook/examples/chemical_balance_lp.ipynb b/examples/notebook/examples/chemical_balance_lp.ipynb index 21efa77373..35e8141cb7 100644 --- a/examples/notebook/examples/chemical_balance_lp.ipynb +++ b/examples/notebook/examples/chemical_balance_lp.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/chemical_balance_sat.ipynb b/examples/notebook/examples/chemical_balance_sat.ipynb index 257da3ef03..b6c687a617 100644 --- a/examples/notebook/examples/chemical_balance_sat.ipynb +++ b/examples/notebook/examples/chemical_balance_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/clustering_sat.ipynb b/examples/notebook/examples/clustering_sat.ipynb index f66351f856..3fc4e4d74e 100644 --- a/examples/notebook/examples/clustering_sat.ipynb +++ b/examples/notebook/examples/clustering_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/cover_rectangle_sat.ipynb b/examples/notebook/examples/cover_rectangle_sat.ipynb index a65d8dca0b..eb74946d1a 100644 --- a/examples/notebook/examples/cover_rectangle_sat.ipynb +++ b/examples/notebook/examples/cover_rectangle_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/cryptarithm_sat.ipynb b/examples/notebook/examples/cryptarithm_sat.ipynb index ac79fe69ba..571317d5dd 100644 --- a/examples/notebook/examples/cryptarithm_sat.ipynb +++ b/examples/notebook/examples/cryptarithm_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/cvrptw_plot.ipynb b/examples/notebook/examples/cvrptw_plot.ipynb index f3849f7a30..745f61b000 100644 --- a/examples/notebook/examples/cvrptw_plot.ipynb +++ b/examples/notebook/examples/cvrptw_plot.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/flexible_job_shop_sat.ipynb b/examples/notebook/examples/flexible_job_shop_sat.ipynb index db764f209a..6303cca03b 100644 --- a/examples/notebook/examples/flexible_job_shop_sat.ipynb +++ b/examples/notebook/examples/flexible_job_shop_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/gate_scheduling_sat.ipynb b/examples/notebook/examples/gate_scheduling_sat.ipynb index f5ebbe7d3a..2bdcb39bc9 100644 --- a/examples/notebook/examples/gate_scheduling_sat.ipynb +++ b/examples/notebook/examples/gate_scheduling_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/golomb8.ipynb b/examples/notebook/examples/golomb8.ipynb index 07aced541e..917aa2e797 100644 --- a/examples/notebook/examples/golomb8.ipynb +++ b/examples/notebook/examples/golomb8.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { @@ -91,9 +91,15 @@ "metadata": {}, "outputs": [], "source": [ + "from ortools.sat.colab import flags\n", "from ortools.constraint_solver import pywrapcp\n", "\n", - "class FLAGS: pass\n", + "FLAGS = flags.FLAGS\n", + "\n", + "# We disable the following warning because it is a false positive on constraints\n", + "# like: solver.Add(x == 0)\n", + "# pylint: disable=g-explicit-bool-comparison\n", + "\n", "\n", "def main(_):\n", " # Create the solver.\n", diff --git a/examples/notebook/examples/golomb_sat.ipynb b/examples/notebook/examples/golomb_sat.ipynb index b36fb3ab02..ef5622eb67 100644 --- a/examples/notebook/examples/golomb_sat.ipynb +++ b/examples/notebook/examples/golomb_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { @@ -93,11 +93,12 @@ "outputs": [], "source": [ "from typing import Sequence\n", + "from ortools.sat.colab import flags\n", "from google.protobuf import text_format\n", "from ortools.sat.python import cp_model\n", "\n", - "_ORDER = flags.DEFINE_integer(\"order\", 8, \"Order of the ruler.\")\n", - "_PARAMS = flags.DEFINE_string(\n", + "_ORDER = flags.define_integer(\"order\", 8, \"Order of the ruler.\")\n", + "_PARAMS = flags.define_string(\n", " \"params\",\n", " \"num_search_workers:16,log_search_progress:true,max_time_in_seconds:45\",\n", " \"Sat solver parameters.\",\n", diff --git a/examples/notebook/examples/hidato_sat.ipynb b/examples/notebook/examples/hidato_sat.ipynb index 96b83c0287..bafb654d08 100644 --- a/examples/notebook/examples/hidato_sat.ipynb +++ b/examples/notebook/examples/hidato_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/integer_programming.ipynb b/examples/notebook/examples/integer_programming.ipynb index 31a472e137..c765f0cf47 100644 --- a/examples/notebook/examples/integer_programming.ipynb +++ b/examples/notebook/examples/integer_programming.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/jobshop_ft06_distance_sat.ipynb b/examples/notebook/examples/jobshop_ft06_distance_sat.ipynb index 950df8dedb..314640e921 100644 --- a/examples/notebook/examples/jobshop_ft06_distance_sat.ipynb +++ b/examples/notebook/examples/jobshop_ft06_distance_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/jobshop_ft06_sat.ipynb b/examples/notebook/examples/jobshop_ft06_sat.ipynb index cc11ef1ea2..5cf079892f 100644 --- a/examples/notebook/examples/jobshop_ft06_sat.ipynb +++ b/examples/notebook/examples/jobshop_ft06_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/jobshop_with_maintenance_sat.ipynb b/examples/notebook/examples/jobshop_with_maintenance_sat.ipynb index 3a858dd6ae..4e52410c82 100644 --- a/examples/notebook/examples/jobshop_with_maintenance_sat.ipynb +++ b/examples/notebook/examples/jobshop_with_maintenance_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/knapsack_2d_sat.ipynb b/examples/notebook/examples/knapsack_2d_sat.ipynb index 75dc9c3224..aced6c0fc9 100644 --- a/examples/notebook/examples/knapsack_2d_sat.ipynb +++ b/examples/notebook/examples/knapsack_2d_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { @@ -89,6 +89,7 @@ "source": [ "import io\n", "\n", + "from ortools.sat.colab import flags\n", "import numpy as np\n", "import pandas as pd\n", "\n", @@ -96,15 +97,15 @@ "\n", "from ortools.sat.python import cp_model\n", "\n", - "_OUTPUT_PROTO = flags.DEFINE_string(\n", + "_OUTPUT_PROTO = flags.define_string(\n", " \"output_proto\", \"\", \"Output file to write the cp_model proto to.\"\n", ")\n", - "_PARAMS = flags.DEFINE_string(\n", + "_PARAMS = flags.define_string(\n", " \"params\",\n", " \"num_search_workers:16,log_search_progress:true,max_time_in_seconds:45\",\n", " \"Sat solver parameters.\",\n", ")\n", - "_MODEL = flags.DEFINE_string(\n", + "_MODEL = flags.define_string(\n", " \"model\", \"rotation\", \"'duplicate' or 'rotation' or 'optional'\"\n", ")\n", "\n", diff --git a/examples/notebook/examples/line_balancing_sat.ipynb b/examples/notebook/examples/line_balancing_sat.ipynb index 5473d88770..65517cca63 100644 --- a/examples/notebook/examples/line_balancing_sat.ipynb +++ b/examples/notebook/examples/line_balancing_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { @@ -100,16 +100,17 @@ "import re\n", "from typing import Sequence\n", "\n", + "from ortools.sat.colab import flags\n", "from google.protobuf import text_format\n", "\n", "from ortools.sat.python import cp_model\n", "\n", - "_INPUT = flags.DEFINE_string(\"input\", \"\", \"Input file to parse and solve.\")\n", - "_PARAMS = flags.DEFINE_string(\"params\", \"\", \"Sat solver parameters.\")\n", - "_OUTPUT_PROTO = flags.DEFINE_string(\n", + "_INPUT = flags.define_string(\"input\", \"\", \"Input file to parse and solve.\")\n", + "_PARAMS = flags.define_string(\"params\", \"\", \"Sat solver parameters.\")\n", + "_OUTPUT_PROTO = flags.define_string(\n", " \"output_proto\", \"\", \"Output file to write the cp_model proto to.\"\n", ")\n", - "_MODEL = flags.DEFINE_string(\n", + "_MODEL = flags.define_string(\n", " \"model\", \"boolean\", \"Model used: boolean, scheduling, greedy\"\n", ")\n", "\n", diff --git a/examples/notebook/examples/linear_assignment_api.ipynb b/examples/notebook/examples/linear_assignment_api.ipynb index ec8daef579..199b15b744 100644 --- a/examples/notebook/examples/linear_assignment_api.ipynb +++ b/examples/notebook/examples/linear_assignment_api.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/linear_programming.ipynb b/examples/notebook/examples/linear_programming.ipynb index a81c041956..f652ef51e1 100644 --- a/examples/notebook/examples/linear_programming.ipynb +++ b/examples/notebook/examples/linear_programming.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/magic_sequence_distribute.ipynb b/examples/notebook/examples/magic_sequence_distribute.ipynb index 838366b1af..2d18e4aabc 100644 --- a/examples/notebook/examples/magic_sequence_distribute.ipynb +++ b/examples/notebook/examples/magic_sequence_distribute.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { @@ -91,9 +91,11 @@ "metadata": {}, "outputs": [], "source": [ + "from ortools.sat.colab import flags\n", "from ortools.constraint_solver import pywrapcp\n", "\n", - "class FLAGS: pass\n", + "FLAGS = flags.FLAGS\n", + "\n", "\n", "def main(argv):\n", " # Create the solver.\n", diff --git a/examples/notebook/examples/maze_escape_sat.ipynb b/examples/notebook/examples/maze_escape_sat.ipynb index ce11029b4c..77de331884 100644 --- a/examples/notebook/examples/maze_escape_sat.ipynb +++ b/examples/notebook/examples/maze_escape_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { @@ -91,13 +91,14 @@ "source": [ "from typing import Sequence\n", "\n", + "from ortools.sat.colab import flags\n", "from google.protobuf import text_format\n", "from ortools.sat.python import cp_model\n", "\n", - "_OUTPUT_PROTO = flags.DEFINE_string(\n", + "_OUTPUT_PROTO = flags.define_string(\n", " \"output_proto\", \"\", \"Output file to write the cp_model proto to.\"\n", ")\n", - "_PARAMS = flags.DEFINE_string(\n", + "_PARAMS = flags.define_string(\n", " \"params\", \"num_search_workers:8,log_search_progress:true\", \"Sat solver parameters.\"\n", ")\n", "\n", diff --git a/examples/notebook/examples/no_wait_baking_scheduling_sat.ipynb b/examples/notebook/examples/no_wait_baking_scheduling_sat.ipynb index 890a49ce74..ffba2144e2 100644 --- a/examples/notebook/examples/no_wait_baking_scheduling_sat.ipynb +++ b/examples/notebook/examples/no_wait_baking_scheduling_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { @@ -91,13 +91,14 @@ "source": [ "import collections\n", "from typing import Sequence\n", + "from ortools.sat.colab import flags\n", "from google.protobuf import text_format\n", "from ortools.sat.python import cp_model\n", "\n", - "_PARAMS = flags.DEFINE_string(\n", + "_PARAMS = flags.define_string(\n", " \"params\", \"num_search_workers:16, max_time_in_seconds:30\", \"Sat solver parameters.\"\n", ")\n", - "_PROTO_FILE = flags.DEFINE_string(\n", + "_PROTO_FILE = flags.define_string(\n", " \"proto_file\", \"\", \"If not empty, output the proto to this file.\"\n", ")\n", "\n", diff --git a/examples/notebook/examples/nqueens_sat.ipynb b/examples/notebook/examples/nqueens_sat.ipynb index 7eb7710a51..7a014adbb6 100644 --- a/examples/notebook/examples/nqueens_sat.ipynb +++ b/examples/notebook/examples/nqueens_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { @@ -85,9 +85,10 @@ "source": [ "import time\n", "\n", + "from ortools.sat.colab import flags\n", "from ortools.sat.python import cp_model\n", "\n", - "_SIZE = flags.DEFINE_integer(\"size\", 8, \"Number of queens.\")\n", + "_SIZE = flags.define_integer(\"size\", 8, \"Number of queens.\")\n", "\n", "\n", "class NQueenSolutionPrinter(cp_model.CpSolverSolutionCallback):\n", diff --git a/examples/notebook/examples/prize_collecting_tsp.ipynb b/examples/notebook/examples/prize_collecting_tsp.ipynb index 1f7f38c4ea..1a843a4944 100644 --- a/examples/notebook/examples/prize_collecting_tsp.ipynb +++ b/examples/notebook/examples/prize_collecting_tsp.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/prize_collecting_tsp_sat.ipynb b/examples/notebook/examples/prize_collecting_tsp_sat.ipynb index fb90b4c8ec..89e1e486ed 100644 --- a/examples/notebook/examples/prize_collecting_tsp_sat.ipynb +++ b/examples/notebook/examples/prize_collecting_tsp_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/prize_collecting_vrp.ipynb b/examples/notebook/examples/prize_collecting_vrp.ipynb index e2608c1b3f..de221e7d02 100644 --- a/examples/notebook/examples/prize_collecting_vrp.ipynb +++ b/examples/notebook/examples/prize_collecting_vrp.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/prize_collecting_vrp_sat.ipynb b/examples/notebook/examples/prize_collecting_vrp_sat.ipynb index 47a8ac78df..d75a961f76 100644 --- a/examples/notebook/examples/prize_collecting_vrp_sat.ipynb +++ b/examples/notebook/examples/prize_collecting_vrp_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/proto_solve.ipynb b/examples/notebook/examples/proto_solve.ipynb index 57fba53794..8c4585edbd 100644 --- a/examples/notebook/examples/proto_solve.ipynb +++ b/examples/notebook/examples/proto_solve.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { @@ -74,13 +74,14 @@ "metadata": {}, "outputs": [], "source": [ + "from ortools.sat.colab import flags\n", "from ortools.linear_solver.python import model_builder\n", "\n", - "class FLAGS: pass\n", + "FLAGS = flags.FLAGS\n", "\n", - "_INPUT = flags.DEFINE_string('input', '', 'Input file to load and solve.')\n", - "_PARAMS = flags.DEFINE_string('params', '', 'Solver parameters in string format.')\n", - "_SOLVER = flags.DEFINE_string('solver', 'sat', 'Solver type to solve the model with.')\n", + "_INPUT = flags.define_string('input', '', 'Input file to load and solve.')\n", + "_PARAMS = flags.define_string('params', '', 'Solver parameters in string format.')\n", + "_SOLVER = flags.define_string('solver', 'sat', 'Solver type to solve the model with.')\n", "\n", "\n", "def main(_):\n", diff --git a/examples/notebook/examples/pyflow_example.ipynb b/examples/notebook/examples/pyflow_example.ipynb index f2ac46bca0..a776154930 100644 --- a/examples/notebook/examples/pyflow_example.ipynb +++ b/examples/notebook/examples/pyflow_example.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/qubo_sat.ipynb b/examples/notebook/examples/qubo_sat.ipynb index b3401652ff..75d72a54ef 100644 --- a/examples/notebook/examples/qubo_sat.ipynb +++ b/examples/notebook/examples/qubo_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/random_tsp.ipynb b/examples/notebook/examples/random_tsp.ipynb index f0c5e66bab..66a8768601 100644 --- a/examples/notebook/examples/random_tsp.ipynb +++ b/examples/notebook/examples/random_tsp.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/rcpsp_sat.ipynb b/examples/notebook/examples/rcpsp_sat.ipynb index 0df5a89f65..e77dbdd94e 100644 --- a/examples/notebook/examples/rcpsp_sat.ipynb +++ b/examples/notebook/examples/rcpsp_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { @@ -93,35 +93,36 @@ "source": [ "import collections\n", "\n", + "from ortools.sat.colab import flags\n", "from google.protobuf import text_format\n", "from ortools.sat.python import cp_model\n", "from ortools.scheduling import rcpsp_pb2\n", "from ortools.scheduling.python import rcpsp\n", "\n", - "_INPUT = flags.DEFINE_string(\"input\", \"\", \"Input file to parse and solve.\")\n", - "_OUTPUT_PROTO = flags.DEFINE_string(\n", + "_INPUT = flags.define_string(\"input\", \"\", \"Input file to parse and solve.\")\n", + "_OUTPUT_PROTO = flags.define_string(\n", " \"output_proto\", \"\", \"Output file to write the cp_model proto to.\"\n", ")\n", - "_PARAMS = flags.DEFINE_string(\"params\", \"\", \"Sat solver parameters.\")\n", - "_USE_INTERVAL_MAKESPAN = flags.DEFINE_bool(\n", + "_PARAMS = flags.define_string(\"params\", \"\", \"Sat solver parameters.\")\n", + "_USE_INTERVAL_MAKESPAN = flags.define_bool(\n", " \"use_interval_makespan\",\n", " False,\n", " \"Whether we encode the makespan using an interval or not.\",\n", ")\n", - "_HORIZON = flags.DEFINE_integer(\"horizon\", -1, \"Force horizon.\")\n", - "_ADD_REDUNDANT_ENERGETIC_CONSTRAINTS = flags.DEFINE_bool(\n", + "_HORIZON = flags.define_integer(\"horizon\", -1, \"Force horizon.\")\n", + "_ADD_REDUNDANT_ENERGETIC_CONSTRAINTS = flags.define_bool(\n", " \"add_redundant_energetic_constraints\",\n", " False,\n", " \"Add redundant energetic constraints on the pairs of tasks extracted from\"\n", " + \" precedence graph.\",\n", ")\n", - "_DELAY_TIME_LIMIT = flags.DEFINE_float(\n", + "_DELAY_TIME_LIMIT = flags.define_float(\n", " \"delay_time_limit\",\n", " 0.0,\n", " \"Time limit when computing min delay between tasks.\"\n", " + \" A non-positive time limit disable min delays computation.\",\n", ")\n", - "_PREEMPTIVE_LB_TIME_LIMIT = flags.DEFINE_float(\n", + "_PREEMPTIVE_LB_TIME_LIMIT = flags.define_float(\n", " \"preemptive_lb_time_limit\",\n", " 0.0,\n", " \"Time limit when computing a preemptive schedule lower bound.\"\n", diff --git a/examples/notebook/examples/reallocate_sat.ipynb b/examples/notebook/examples/reallocate_sat.ipynb index eec557d295..f8626b735a 100644 --- a/examples/notebook/examples/reallocate_sat.ipynb +++ b/examples/notebook/examples/reallocate_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/shift_scheduling_sat.ipynb b/examples/notebook/examples/shift_scheduling_sat.ipynb index 0d92d87663..39eb9c7b2e 100644 --- a/examples/notebook/examples/shift_scheduling_sat.ipynb +++ b/examples/notebook/examples/shift_scheduling_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { @@ -83,13 +83,14 @@ "metadata": {}, "outputs": [], "source": [ + "from ortools.sat.colab import flags\n", "from ortools.sat.python import cp_model\n", "from google.protobuf import text_format\n", "\n", - "_OUTPUT_PROTO = flags.DEFINE_string(\n", + "_OUTPUT_PROTO = flags.define_string(\n", " \"output_proto\", \"\", \"Output file to write the cp_model proto to.\"\n", ")\n", - "_PARAMS = flags.DEFINE_string(\n", + "_PARAMS = flags.define_string(\n", " \"params\", \"max_time_in_seconds:10.0\", \"Sat solver parameters.\"\n", ")\n", "\n", diff --git a/examples/notebook/examples/single_machine_scheduling_with_setup_release_due_dates_sat.ipynb b/examples/notebook/examples/single_machine_scheduling_with_setup_release_due_dates_sat.ipynb index 0111f15bb8..8ba2beaee1 100644 --- a/examples/notebook/examples/single_machine_scheduling_with_setup_release_due_dates_sat.ipynb +++ b/examples/notebook/examples/single_machine_scheduling_with_setup_release_due_dates_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { @@ -84,20 +84,21 @@ "outputs": [], "source": [ "from typing import Sequence\n", + "from ortools.sat.colab import flags\n", "from google.protobuf import text_format\n", "from ortools.sat.python import cp_model\n", "\n", "# ----------------------------------------------------------------------------\n", "# Command line arguments.\n", - "_OUTPUT_PROTO = flags.DEFINE_string(\n", + "_OUTPUT_PROTO = flags.define_string(\n", " \"output_proto\", \"\", \"Output file to write the cp_model proto to.\"\n", ")\n", - "_PARAMS = flags.DEFINE_string(\n", + "_PARAMS = flags.define_string(\n", " \"params\",\n", " \"num_search_workers:16,log_search_progress:true,max_time_in_seconds:45\",\n", " \"Sat solver parameters.\",\n", ")\n", - "_PREPROCESS = flags.DEFINE_bool(\n", + "_PREPROCESS = flags.define_bool(\n", " \"--preprocess_times\", True, \"Preprocess setup times and durations\"\n", ")\n", "\n", diff --git a/examples/notebook/examples/spread_robots_sat.ipynb b/examples/notebook/examples/spread_robots_sat.ipynb index e205d0e682..98da400091 100644 --- a/examples/notebook/examples/spread_robots_sat.ipynb +++ b/examples/notebook/examples/spread_robots_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { @@ -85,14 +85,15 @@ "source": [ "import math\n", "from typing import Sequence\n", + "from ortools.sat.colab import flags\n", "from google.protobuf import text_format\n", "from ortools.sat.python import cp_model\n", "\n", - "_NUM_ROBOTS = flags.DEFINE_integer(\"num_robots\", 8, \"Number of robots to place.\")\n", - "_ROOM_SIZE = flags.DEFINE_integer(\n", + "_NUM_ROBOTS = flags.define_integer(\"num_robots\", 8, \"Number of robots to place.\")\n", + "_ROOM_SIZE = flags.define_integer(\n", " \"room_size\", 20, \"Size of the square room where robots are.\"\n", ")\n", - "_PARAMS = flags.DEFINE_string(\n", + "_PARAMS = flags.define_string(\n", " \"params\",\n", " \"num_search_workers:16, max_time_in_seconds:20\",\n", " \"Sat solver parameters.\",\n", diff --git a/examples/notebook/examples/steel_mill_slab_sat.ipynb b/examples/notebook/examples/steel_mill_slab_sat.ipynb index d2d4391b99..5ee75f67a9 100644 --- a/examples/notebook/examples/steel_mill_slab_sat.ipynb +++ b/examples/notebook/examples/steel_mill_slab_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { @@ -87,18 +87,19 @@ "import collections\n", "import time\n", "\n", + "from ortools.sat.colab import flags\n", "from google.protobuf import text_format\n", "from ortools.sat.python import cp_model\n", "\n", "\n", - "_PROBLEM = flags.DEFINE_integer(\"problem\", 2, \"Problem id to solve.\")\n", - "_BREAK_SYMMETRIES = flags.DEFINE_boolean(\n", + "_PROBLEM = flags.define_integer(\"problem\", 2, \"Problem id to solve.\")\n", + "_BREAK_SYMMETRIES = flags.define_boolean(\n", " \"break_symmetries\", True, \"Break symmetries between equivalent orders.\"\n", ")\n", - "_SOLVER = flags.DEFINE_string(\n", + "_SOLVER = flags.define_string(\n", " \"solver\", \"sat_column\", \"Method used to solve: sat, sat_table, sat_column.\"\n", ")\n", - "_PARAMS = flags.DEFINE_string(\n", + "_PARAMS = flags.define_string(\n", " \"params\",\n", " \"max_time_in_seconds:20,num_workers:8,log_search_progress:true\",\n", " \"CP-SAT parameters.\",\n", diff --git a/examples/notebook/examples/sudoku_sat.ipynb b/examples/notebook/examples/sudoku_sat.ipynb index aac0afad93..f394dd009f 100644 --- a/examples/notebook/examples/sudoku_sat.ipynb +++ b/examples/notebook/examples/sudoku_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/task_allocation_sat.ipynb b/examples/notebook/examples/task_allocation_sat.ipynb index 89577a98a4..42fd08c826 100644 --- a/examples/notebook/examples/task_allocation_sat.ipynb +++ b/examples/notebook/examples/task_allocation_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/tasks_and_workers_assignment_sat.ipynb b/examples/notebook/examples/tasks_and_workers_assignment_sat.ipynb index a79312e924..8b76750528 100644 --- a/examples/notebook/examples/tasks_and_workers_assignment_sat.ipynb +++ b/examples/notebook/examples/tasks_and_workers_assignment_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/transit_time.ipynb b/examples/notebook/examples/transit_time.ipynb index d267fe8188..44e1998f0c 100644 --- a/examples/notebook/examples/transit_time.ipynb +++ b/examples/notebook/examples/transit_time.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/tsp_sat.ipynb b/examples/notebook/examples/tsp_sat.ipynb index 74f5095d74..df9e042c1c 100644 --- a/examples/notebook/examples/tsp_sat.ipynb +++ b/examples/notebook/examples/tsp_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/vendor_scheduling_sat.ipynb b/examples/notebook/examples/vendor_scheduling_sat.ipynb index 4756aad908..d8a69316e7 100644 --- a/examples/notebook/examples/vendor_scheduling_sat.ipynb +++ b/examples/notebook/examples/vendor_scheduling_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/wedding_optimal_chart_sat.ipynb b/examples/notebook/examples/wedding_optimal_chart_sat.ipynb index beb62e3d07..48ed42de08 100644 --- a/examples/notebook/examples/wedding_optimal_chart_sat.ipynb +++ b/examples/notebook/examples/wedding_optimal_chart_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/examples/weighted_latency_problem_sat.ipynb b/examples/notebook/examples/weighted_latency_problem_sat.ipynb index dfb20664d1..220263f2b2 100644 --- a/examples/notebook/examples/weighted_latency_problem_sat.ipynb +++ b/examples/notebook/examples/weighted_latency_problem_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { @@ -85,17 +85,18 @@ "source": [ "import random\n", "from typing import Sequence\n", + "from ortools.sat.colab import flags\n", "from google.protobuf import text_format\n", "from ortools.sat.python import cp_model\n", "\n", - "_NUM_NODES = flags.DEFINE_integer(\"num_nodes\", 12, \"Number of nodes to visit.\")\n", - "_GRID_SIZE = flags.DEFINE_integer(\"grid_size\", 20, \"Size of the grid where nodes are.\")\n", - "_PROFIT_RANGE = flags.DEFINE_integer(\"profit_range\", 50, \"Range of profit.\")\n", - "_SEED = flags.DEFINE_integer(\"seed\", 0, \"Random seed.\")\n", - "_PARAMS = flags.DEFINE_string(\n", + "_NUM_NODES = flags.define_integer(\"num_nodes\", 12, \"Number of nodes to visit.\")\n", + "_GRID_SIZE = flags.define_integer(\"grid_size\", 20, \"Size of the grid where nodes are.\")\n", + "_PROFIT_RANGE = flags.define_integer(\"profit_range\", 50, \"Range of profit.\")\n", + "_SEED = flags.define_integer(\"seed\", 0, \"Random seed.\")\n", + "_PARAMS = flags.define_string(\n", " \"params\", \"num_search_workers:16, max_time_in_seconds:5\", \"Sat solver parameters.\"\n", ")\n", - "_PROTO_FILE = flags.DEFINE_string(\n", + "_PROTO_FILE = flags.define_string(\n", " \"proto_file\", \"\", \"If not empty, output the proto to this file.\"\n", ")\n", "\n", diff --git a/examples/notebook/examples/zebra_sat.ipynb b/examples/notebook/examples/zebra_sat.ipynb index e727d0f2a6..01fee1a678 100644 --- a/examples/notebook/examples/zebra_sat.ipynb +++ b/examples/notebook/examples/zebra_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/graph/assignment_linear_sum_assignment.ipynb b/examples/notebook/graph/assignment_linear_sum_assignment.ipynb index 65308d8038..f1297b30f1 100644 --- a/examples/notebook/graph/assignment_linear_sum_assignment.ipynb +++ b/examples/notebook/graph/assignment_linear_sum_assignment.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/graph/assignment_min_flow.ipynb b/examples/notebook/graph/assignment_min_flow.ipynb index 31d69648b9..e257afcd2b 100644 --- a/examples/notebook/graph/assignment_min_flow.ipynb +++ b/examples/notebook/graph/assignment_min_flow.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/graph/balance_min_flow.ipynb b/examples/notebook/graph/balance_min_flow.ipynb index 6905a62cfd..e2700ab6bd 100644 --- a/examples/notebook/graph/balance_min_flow.ipynb +++ b/examples/notebook/graph/balance_min_flow.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/graph/simple_max_flow_program.ipynb b/examples/notebook/graph/simple_max_flow_program.ipynb index c1b43b2721..d60e075840 100644 --- a/examples/notebook/graph/simple_max_flow_program.ipynb +++ b/examples/notebook/graph/simple_max_flow_program.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/graph/simple_min_cost_flow_program.ipynb b/examples/notebook/graph/simple_min_cost_flow_program.ipynb index a91f6a7629..2c0b503f78 100644 --- a/examples/notebook/graph/simple_min_cost_flow_program.ipynb +++ b/examples/notebook/graph/simple_min_cost_flow_program.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/linear_solver/assignment_groups_mip.ipynb b/examples/notebook/linear_solver/assignment_groups_mip.ipynb index ef3fc24e36..894816426b 100644 --- a/examples/notebook/linear_solver/assignment_groups_mip.ipynb +++ b/examples/notebook/linear_solver/assignment_groups_mip.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/linear_solver/assignment_mb.ipynb b/examples/notebook/linear_solver/assignment_mb.ipynb index c7139b409f..6e7e390da6 100644 --- a/examples/notebook/linear_solver/assignment_mb.ipynb +++ b/examples/notebook/linear_solver/assignment_mb.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/linear_solver/assignment_mip.ipynb b/examples/notebook/linear_solver/assignment_mip.ipynb index 7bdd291294..aa1a5c029c 100644 --- a/examples/notebook/linear_solver/assignment_mip.ipynb +++ b/examples/notebook/linear_solver/assignment_mip.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/linear_solver/assignment_task_sizes_mip.ipynb b/examples/notebook/linear_solver/assignment_task_sizes_mip.ipynb index 8733988bb0..360c1ce352 100644 --- a/examples/notebook/linear_solver/assignment_task_sizes_mip.ipynb +++ b/examples/notebook/linear_solver/assignment_task_sizes_mip.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/linear_solver/assignment_teams_mip.ipynb b/examples/notebook/linear_solver/assignment_teams_mip.ipynb index 2a6922073b..160dc3449c 100644 --- a/examples/notebook/linear_solver/assignment_teams_mip.ipynb +++ b/examples/notebook/linear_solver/assignment_teams_mip.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/linear_solver/basic_example.ipynb b/examples/notebook/linear_solver/basic_example.ipynb index c427a5f714..12967d8295 100644 --- a/examples/notebook/linear_solver/basic_example.ipynb +++ b/examples/notebook/linear_solver/basic_example.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/linear_solver/bin_packing_mb.ipynb b/examples/notebook/linear_solver/bin_packing_mb.ipynb index 6a98da73cf..99514052eb 100644 --- a/examples/notebook/linear_solver/bin_packing_mb.ipynb +++ b/examples/notebook/linear_solver/bin_packing_mb.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/linear_solver/bin_packing_mip.ipynb b/examples/notebook/linear_solver/bin_packing_mip.ipynb index 8b9b282784..7a217e644d 100644 --- a/examples/notebook/linear_solver/bin_packing_mip.ipynb +++ b/examples/notebook/linear_solver/bin_packing_mip.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/linear_solver/integer_programming_example.ipynb b/examples/notebook/linear_solver/integer_programming_example.ipynb index 692ea2e089..463c2a24a7 100644 --- a/examples/notebook/linear_solver/integer_programming_example.ipynb +++ b/examples/notebook/linear_solver/integer_programming_example.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/linear_solver/linear_programming_example.ipynb b/examples/notebook/linear_solver/linear_programming_example.ipynb index f2604f5f90..00009a7d9c 100644 --- a/examples/notebook/linear_solver/linear_programming_example.ipynb +++ b/examples/notebook/linear_solver/linear_programming_example.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/linear_solver/mip_var_array.ipynb b/examples/notebook/linear_solver/mip_var_array.ipynb index 5b0b1dd6b8..87bad3b5ac 100644 --- a/examples/notebook/linear_solver/mip_var_array.ipynb +++ b/examples/notebook/linear_solver/mip_var_array.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/linear_solver/multiple_knapsack_mip.ipynb b/examples/notebook/linear_solver/multiple_knapsack_mip.ipynb index fc595783db..ada1053182 100644 --- a/examples/notebook/linear_solver/multiple_knapsack_mip.ipynb +++ b/examples/notebook/linear_solver/multiple_knapsack_mip.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/linear_solver/simple_lp_program.ipynb b/examples/notebook/linear_solver/simple_lp_program.ipynb index d73b98e8bf..8c03726ef9 100644 --- a/examples/notebook/linear_solver/simple_lp_program.ipynb +++ b/examples/notebook/linear_solver/simple_lp_program.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/linear_solver/simple_lp_program_mb.ipynb b/examples/notebook/linear_solver/simple_lp_program_mb.ipynb index 63739fe614..d20d7eba59 100644 --- a/examples/notebook/linear_solver/simple_lp_program_mb.ipynb +++ b/examples/notebook/linear_solver/simple_lp_program_mb.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/linear_solver/simple_mip_program.ipynb b/examples/notebook/linear_solver/simple_mip_program.ipynb index 54bbe63a16..3aff1c0fea 100644 --- a/examples/notebook/linear_solver/simple_mip_program.ipynb +++ b/examples/notebook/linear_solver/simple_mip_program.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/linear_solver/simple_mip_program_mb.ipynb b/examples/notebook/linear_solver/simple_mip_program_mb.ipynb index 547f157144..1c0c0bdcff 100644 --- a/examples/notebook/linear_solver/simple_mip_program_mb.ipynb +++ b/examples/notebook/linear_solver/simple_mip_program_mb.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/linear_solver/stigler_diet.ipynb b/examples/notebook/linear_solver/stigler_diet.ipynb index 1df445d673..c0c28b65f7 100644 --- a/examples/notebook/linear_solver/stigler_diet.ipynb +++ b/examples/notebook/linear_solver/stigler_diet.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/pdlp/simple_pdlp_program.ipynb b/examples/notebook/pdlp/simple_pdlp_program.ipynb index 3434b225a6..43e7857271 100644 --- a/examples/notebook/pdlp/simple_pdlp_program.ipynb +++ b/examples/notebook/pdlp/simple_pdlp_program.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/assignment_groups_sat.ipynb b/examples/notebook/sat/assignment_groups_sat.ipynb index f0bdfb2868..ea5fe73c97 100644 --- a/examples/notebook/sat/assignment_groups_sat.ipynb +++ b/examples/notebook/sat/assignment_groups_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/assignment_sat.ipynb b/examples/notebook/sat/assignment_sat.ipynb index 61dc39007b..86fcecd1ae 100644 --- a/examples/notebook/sat/assignment_sat.ipynb +++ b/examples/notebook/sat/assignment_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/assignment_task_sizes_sat.ipynb b/examples/notebook/sat/assignment_task_sizes_sat.ipynb index 740531d1de..76333c78e4 100644 --- a/examples/notebook/sat/assignment_task_sizes_sat.ipynb +++ b/examples/notebook/sat/assignment_task_sizes_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/assignment_teams_sat.ipynb b/examples/notebook/sat/assignment_teams_sat.ipynb index 5ae5c0fe43..dc758daa5a 100644 --- a/examples/notebook/sat/assignment_teams_sat.ipynb +++ b/examples/notebook/sat/assignment_teams_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/assumptions_sample_sat.ipynb b/examples/notebook/sat/assumptions_sample_sat.ipynb index 3651c0ddc1..4fe9a04a44 100644 --- a/examples/notebook/sat/assumptions_sample_sat.ipynb +++ b/examples/notebook/sat/assumptions_sample_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/bin_packing_sat.ipynb b/examples/notebook/sat/bin_packing_sat.ipynb index 9c942fff91..9b89a35ed5 100644 --- a/examples/notebook/sat/bin_packing_sat.ipynb +++ b/examples/notebook/sat/bin_packing_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/binpacking_problem_sat.ipynb b/examples/notebook/sat/binpacking_problem_sat.ipynb index 6bb71b2ba3..84adb05685 100644 --- a/examples/notebook/sat/binpacking_problem_sat.ipynb +++ b/examples/notebook/sat/binpacking_problem_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/bool_or_sample_sat.ipynb b/examples/notebook/sat/bool_or_sample_sat.ipynb index ac4bd4d5d2..853354bc4c 100644 --- a/examples/notebook/sat/bool_or_sample_sat.ipynb +++ b/examples/notebook/sat/bool_or_sample_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/boolean_product_sample_sat.ipynb b/examples/notebook/sat/boolean_product_sample_sat.ipynb index 5f175225d0..9b0a2cf294 100644 --- a/examples/notebook/sat/boolean_product_sample_sat.ipynb +++ b/examples/notebook/sat/boolean_product_sample_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/channeling_sample_sat.ipynb b/examples/notebook/sat/channeling_sample_sat.ipynb index 6e8ff9d0ed..f21e72c489 100644 --- a/examples/notebook/sat/channeling_sample_sat.ipynb +++ b/examples/notebook/sat/channeling_sample_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/copy_model_sample_sat.ipynb b/examples/notebook/sat/copy_model_sample_sat.ipynb index bb699df6dc..79e619d6e5 100644 --- a/examples/notebook/sat/copy_model_sample_sat.ipynb +++ b/examples/notebook/sat/copy_model_sample_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/cp_is_fun_sat.ipynb b/examples/notebook/sat/cp_is_fun_sat.ipynb index 93ec40089e..3356f89643 100644 --- a/examples/notebook/sat/cp_is_fun_sat.ipynb +++ b/examples/notebook/sat/cp_is_fun_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/cp_sat_example.ipynb b/examples/notebook/sat/cp_sat_example.ipynb index 6efc105794..9ec351f8d9 100644 --- a/examples/notebook/sat/cp_sat_example.ipynb +++ b/examples/notebook/sat/cp_sat_example.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/earliness_tardiness_cost_sample_sat.ipynb b/examples/notebook/sat/earliness_tardiness_cost_sample_sat.ipynb index 8434d96f2e..7d6e81bcb1 100644 --- a/examples/notebook/sat/earliness_tardiness_cost_sample_sat.ipynb +++ b/examples/notebook/sat/earliness_tardiness_cost_sample_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/interval_sample_sat.ipynb b/examples/notebook/sat/interval_sample_sat.ipynb index dc06fe8269..1f5a751107 100644 --- a/examples/notebook/sat/interval_sample_sat.ipynb +++ b/examples/notebook/sat/interval_sample_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/literal_sample_sat.ipynb b/examples/notebook/sat/literal_sample_sat.ipynb index 148338b52d..2b39109adb 100644 --- a/examples/notebook/sat/literal_sample_sat.ipynb +++ b/examples/notebook/sat/literal_sample_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/minimal_jobshop_sat.ipynb b/examples/notebook/sat/minimal_jobshop_sat.ipynb index 39624b4aa0..e1c65a2482 100644 --- a/examples/notebook/sat/minimal_jobshop_sat.ipynb +++ b/examples/notebook/sat/minimal_jobshop_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/multiple_knapsack_sat.ipynb b/examples/notebook/sat/multiple_knapsack_sat.ipynb index b4984254b2..1e21287813 100644 --- a/examples/notebook/sat/multiple_knapsack_sat.ipynb +++ b/examples/notebook/sat/multiple_knapsack_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/no_overlap_sample_sat.ipynb b/examples/notebook/sat/no_overlap_sample_sat.ipynb index 6375a78a29..b0a9753d12 100644 --- a/examples/notebook/sat/no_overlap_sample_sat.ipynb +++ b/examples/notebook/sat/no_overlap_sample_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/non_linear_sat.ipynb b/examples/notebook/sat/non_linear_sat.ipynb index 56713a44f0..1d8e49c214 100644 --- a/examples/notebook/sat/non_linear_sat.ipynb +++ b/examples/notebook/sat/non_linear_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/nqueens_sat.ipynb b/examples/notebook/sat/nqueens_sat.ipynb index 505203a1b9..2d1864ca25 100644 --- a/examples/notebook/sat/nqueens_sat.ipynb +++ b/examples/notebook/sat/nqueens_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/nurses_sat.ipynb b/examples/notebook/sat/nurses_sat.ipynb index 010643b90d..cc5452fb60 100644 --- a/examples/notebook/sat/nurses_sat.ipynb +++ b/examples/notebook/sat/nurses_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/optional_interval_sample_sat.ipynb b/examples/notebook/sat/optional_interval_sample_sat.ipynb index a7983f313d..a6e9875675 100644 --- a/examples/notebook/sat/optional_interval_sample_sat.ipynb +++ b/examples/notebook/sat/optional_interval_sample_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/overlapping_intervals_sample_sat.ipynb b/examples/notebook/sat/overlapping_intervals_sample_sat.ipynb index df7ed8f617..a489c31866 100644 --- a/examples/notebook/sat/overlapping_intervals_sample_sat.ipynb +++ b/examples/notebook/sat/overlapping_intervals_sample_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/rabbits_and_pheasants_sat.ipynb b/examples/notebook/sat/rabbits_and_pheasants_sat.ipynb index 8ffebc82fb..3d6067d70d 100644 --- a/examples/notebook/sat/rabbits_and_pheasants_sat.ipynb +++ b/examples/notebook/sat/rabbits_and_pheasants_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/ranking_sample_sat.ipynb b/examples/notebook/sat/ranking_sample_sat.ipynb index f079bcd0cd..f8239e22f6 100644 --- a/examples/notebook/sat/ranking_sample_sat.ipynb +++ b/examples/notebook/sat/ranking_sample_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/reified_sample_sat.ipynb b/examples/notebook/sat/reified_sample_sat.ipynb index 4ae4603d11..3e983e23fd 100644 --- a/examples/notebook/sat/reified_sample_sat.ipynb +++ b/examples/notebook/sat/reified_sample_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/schedule_requests_sat.ipynb b/examples/notebook/sat/schedule_requests_sat.ipynb index 0732f016e7..5ab683095b 100644 --- a/examples/notebook/sat/schedule_requests_sat.ipynb +++ b/examples/notebook/sat/schedule_requests_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/scheduling_with_calendar_sample_sat.ipynb b/examples/notebook/sat/scheduling_with_calendar_sample_sat.ipynb index 4a4dc9aba5..cfb1ba7d52 100644 --- a/examples/notebook/sat/scheduling_with_calendar_sample_sat.ipynb +++ b/examples/notebook/sat/scheduling_with_calendar_sample_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/search_for_all_solutions_sample_sat.ipynb b/examples/notebook/sat/search_for_all_solutions_sample_sat.ipynb index 8893f0488f..a5a8ea48b5 100644 --- a/examples/notebook/sat/search_for_all_solutions_sample_sat.ipynb +++ b/examples/notebook/sat/search_for_all_solutions_sample_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/simple_sat_program.ipynb b/examples/notebook/sat/simple_sat_program.ipynb index 8d1f98e25c..aec32f1a62 100644 --- a/examples/notebook/sat/simple_sat_program.ipynb +++ b/examples/notebook/sat/simple_sat_program.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/solution_hinting_sample_sat.ipynb b/examples/notebook/sat/solution_hinting_sample_sat.ipynb index baa7fc218c..c5d315e8d2 100644 --- a/examples/notebook/sat/solution_hinting_sample_sat.ipynb +++ b/examples/notebook/sat/solution_hinting_sample_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/solve_and_print_intermediate_solutions_sample_sat.ipynb b/examples/notebook/sat/solve_and_print_intermediate_solutions_sample_sat.ipynb index 9744ddf2a9..5ee8fa449d 100644 --- a/examples/notebook/sat/solve_and_print_intermediate_solutions_sample_sat.ipynb +++ b/examples/notebook/sat/solve_and_print_intermediate_solutions_sample_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/solve_with_time_limit_sample_sat.ipynb b/examples/notebook/sat/solve_with_time_limit_sample_sat.ipynb index 0fce1d2a2c..91dfec12c4 100644 --- a/examples/notebook/sat/solve_with_time_limit_sample_sat.ipynb +++ b/examples/notebook/sat/solve_with_time_limit_sample_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/step_function_sample_sat.ipynb b/examples/notebook/sat/step_function_sample_sat.ipynb index 45bd53dff0..3eb6ea1d25 100644 --- a/examples/notebook/sat/step_function_sample_sat.ipynb +++ b/examples/notebook/sat/step_function_sample_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/examples/notebook/sat/stop_after_n_solutions_sample_sat.ipynb b/examples/notebook/sat/stop_after_n_solutions_sample_sat.ipynb index 2effb8e508..1cccc3c03b 100644 --- a/examples/notebook/sat/stop_after_n_solutions_sample_sat.ipynb +++ b/examples/notebook/sat/stop_after_n_solutions_sample_sat.ipynb @@ -5,7 +5,7 @@ "id": "google", "metadata": {}, "source": [ - "##### Copyright 2022 Google LLC." + "##### Copyright 2023 Google LLC." ] }, { diff --git a/ortools/python/BUILD.bazel b/ortools/python/BUILD.bazel index f8750fc4cc..d074d6c9b6 100644 --- a/ortools/python/BUILD.bazel +++ b/ortools/python/BUILD.bazel @@ -29,6 +29,7 @@ py_binary( deps = [ "//ortools/linear_solver/python:model_builder", "//ortools/linear_solver/python:model_builder_helper", + "//ortools/sat/colab:flags", "//ortools/sat/colab:visualization", "//ortools/sat/python:cp_model", "//ortools/sat/python:cp_model_helper", diff --git a/ortools/python/ortools_notebook.py b/ortools/python/ortools_notebook.py index 01a798a780..283f2c427e 100644 --- a/ortools/python/ortools_notebook.py +++ b/ortools/python/ortools_notebook.py @@ -16,9 +16,9 @@ import re import sys -from notebook import notebookapp +from notebook import app if __name__ == "__main__": sys.argv[0] = re.sub(r"(-script\.pyw?|\.exe)?$", "", sys.argv[0]) - sys.exit(notebookapp.main()) + sys.exit(app.main()) diff --git a/ortools/python/setup.py.in b/ortools/python/setup.py.in index 6197ce3077..1b86356bfa 100644 --- a/ortools/python/setup.py.in +++ b/ortools/python/setup.py.in @@ -66,6 +66,7 @@ setup( '@PYTHON_PROJECT@.pdlp':['*.pyi'], '@PYTHON_PROJECT@.pdlp.python':['$'], '@PYTHON_PROJECT@.sat':['*.pyi'], + '@PYTHON_PROJECT@.sat.colab':['*.pyi'], '@PYTHON_PROJECT@.sat.python':['$', '*.pyi'], '@PYTHON_PROJECT@.scheduling.python':['$', '*.pyi'], '@PYTHON_PROJECT@.util.python':['$', '*.pyi'], diff --git a/tools/export_to_ipynb.py b/tools/export_to_ipynb.py index a4a2e7351d..ad5c4402fa 100755 --- a/tools/export_to_ipynb.py +++ b/tools/export_to_ipynb.py @@ -43,7 +43,7 @@ nbook = v3.reads_py('') nbook = v4.upgrade(nbook) # Upgrade v3 to v4 print('Adding copyright cell...') -google = '##### Copyright 2022 Google LLC.' +google = '##### Copyright 2023 Google LLC.' nbook['cells'].append(v4.new_markdown_cell(source=google, id='google')) print('Adding license cell...') @@ -91,7 +91,7 @@ nbook['cells'].append(v4.new_code_cell(source=install_cmd, id='install')) print('Adding code cell...') all_blocks = ast.parse(text).body -print(f'number of bocks: {len(all_blocks)}') +print(f'number of blocks: {len(all_blocks)}') line_start = [c.lineno - 1 for c in all_blocks] line_start[0] = 0 lines = text.split('\n') @@ -121,54 +121,15 @@ for idx, (c_block, s, e) in enumerate( filtered_text = '\n'.join(filtered_lines) nbook['cells'].append( v4.new_markdown_cell(source=filtered_text, id='description')) - # Remove absl app and flags import + # Remove absl app import elif (isinstance(c_block, ast.ImportFrom) and c_block.module == 'absl' - and c_block.names[0].name in ('flags', 'app')): + and c_block.names[0].name == 'app'): print(f'Removing import {c_block.module}.{c_block.names[0].name}...') - # Rewrite `FLAGS = flags.FLAGS` - elif (isinstance(c_block, ast.Assign) and - isinstance(c_block.targets[0], ast.Name) and - c_block.targets[0].id == 'FLAGS'): - print('Adding FLAGS class...') - fixed_lines = ['class FLAGS: pass\n'] - full_text += '\n'.join(fixed_lines) + '\n' - # Rewrite `flags.DEFINE_*(*)` - elif (isinstance(c_block, ast.Expr) and - isinstance(c_block.value, ast.Call) and - isinstance(c_block.value.func, ast.Attribute) and - c_block.value.func.value.id == 'flags'): - print('Adding FLAGS field...') - fixed_lines = [] - attr = c_block.value.func.attr - if attr in ('DEFINE_integer', 'DEFINE_bool', 'DEFINE_string'): - args = c_block.value.args - # print(f'args: {args}') - name = args[0].value - if isinstance(args[1], ast.Constant): - value = args[1].value - elif isinstance(args[1], ast.UnaryOp): - if isinstance(args[1].op, ast.USub): - value = -1 * int(args[1].operand.value) - else: - print(f'unknown value operator: "{args[1].op}"') - sys.exit(2) - else: - print(f'unknown value: "{args[1]}"') - sys.exit(2) - comment = args[2].value - - print(f'FLAGS.{name} = \'{value}\' # {comment}') - if attr in ('DEFINE_integer', 'DEFINE_bool'): - fixed_lines.append(f'FLAGS.{name} = {value} # {comment}\n') - else: - fixed_lines.append(f'FLAGS.{name} = \'{value}\' # {comment}\n') - else: - print(f'unknown method: "{attr}"') - sys.exit(2) - full_text += '\n'.join(fixed_lines) - # Add empty line after the last flags.DEFINE - if e-2 >= s and not lines[e-1] and not lines[e-2]: - full_text += '\n' + # rewrite absl flag import + elif (isinstance(c_block, ast.ImportFrom) and c_block.module == 'absl' + and c_block.names[0].name =='flags'): + print(f'Rewrite import {c_block.module}.{c_block.names[0].name}...') + full_text += 'from ortools.sat.colab import flags\n' # Unwrap __main__ function elif (isinstance(c_block, ast.If) and c_block.test.comparators[0].s == '__main__'): @@ -194,6 +155,8 @@ for idx, (c_block, s, e) in enumerate( else: print('Appending block...') filtered_lines = lines[s:e] + for i, line in enumerate(filtered_lines): + filtered_lines[i] = line.replace('DEFINE_', 'define_') filtered_lines = list( filter(lambda l: not re.search(r'# \[START .*\]$', l), filtered_lines)) filtered_lines = list(