Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update hyperparameters for all LNS CP solvers #206

Merged
merged 2 commits into from
May 13, 2024
Merged

Conversation

nhuet
Copy link
Contributor

@nhuet nhuet commented May 6, 2024

  • Specify hyperparameters directly in generic LNS_CP:
    cp_solver, initial_solution_provider, constraint_handler, post_process_solution (with cls + kwargs each time), but with empty choices (depending on problem type)
  • update LNS_CP.__init__ to follow this logic
  • add in Hyperparametrizable a class method to copy and update the hyperparameters (to be used by child classes like LnsCpColoring to reuse hyperparameters defined by LNS_CP)
  • make LnsCpColoring and generic_rcpsp_tools lns wrapper derive from it and update __init__() and choices for hyperparameters (w/o redefining all hyperparameters)
  • add hyperparameters to ConstraintHandler's and InitialSolution's
  • use hyperparameters from build_xxx() functions for LargeNeighborhoodSearchScheduling, and thus
    • make ParamsConstraintBuilder parametrizable
    • add hyperparameters params_0 (_cls, _kwargs) and params_1 (_cls, _kwargs) to construct params_list from it in build_constraint_handler()
  • remove old deprecated lns wrappers in rcpsp/rcpsp_multiskill in favor of the one in generic_rcpsp_tools

@nhuet nhuet marked this pull request as draft May 6, 2024 14:48
@nhuet nhuet force-pushed the lns-hp-2 branch 3 times, most recently from a7409f6 to 49e097a Compare May 7, 2024 12:09
@nhuet nhuet marked this pull request as ready for review May 7, 2024 12:11
nhuet added 2 commits May 10, 2024 15:02
- put hyperparameters definition directly in LNS_CP:
    cp_solver, initial_solution_provider, constraint_handler,
    postprocess (with cls + kwargs each time), but with empty choices
   (depending on problem type)
- update LNS_CP.__init__ to follow this logic
- add in Hyperparametrizable a class method to copy and update the
  hyperparameters (to be used by child classes like LnsCpColoring to
  reuse hyperparameters defined by LNS_CP)
- make LnsCpColoring and generic_rcpsp_tools lns wrapper derive from it
  and update __init__() and choices for hyperparameters (w/o redefining all hyperparameters)
- add hyperparameters to ConstraintHandler's and InitialSolution's
- use hyperparameters from build_xxx() functions for LargeNeighborhoodSearchScheduling, and thus
  - make ParamsConstraintBuilder parametrizable
  - add hyperparameters params_0 (_cls, _kwargs) and params_1 (_cls, _kwargs)
    to construct params_list from it in build_constraint_handler()
- remove old lns solvers and constraint handlers for rcpsp and rcpsp_multiskill,
  replaced by generic_rcpsp_tools ones
- remove get_solution() in facility cp solver, previously used by lns
  solvers.
@g-poveda g-poveda merged commit b5ee15d into airbus:master May 13, 2024
12 of 14 checks passed
@nhuet nhuet deleted the lns-hp-2 branch July 11, 2024 08:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants