Skip to content

Problem transformation functionality#466

Closed
g-poveda wants to merge 23 commits into
airbus:masterfrom
g-poveda:gpd/problem_solver_pipeline
Closed

Problem transformation functionality#466
g-poveda wants to merge 23 commits into
airbus:masterfrom
g-poveda:gpd/problem_solver_pipeline

Conversation

@g-poveda
Copy link
Copy Markdown
Collaborator

@g-poveda g-poveda commented May 6, 2026

In this big PR, we add a new functionality around problem transformation.
-The idea is to add an api (in generic_tools/transformation) that is specifically done to transform a problem into another one, keeping either an exact or approximated mapping, and convert also the solution from 1 problem to another one.
-We then build a TransformationSolver class that is a new SolverDO class that take a source problem, a problem transformation and a solver subbrick to build a new solver. In practice it can be used for example to solve a binpack problem using a RCPSP solver.
-We introduce a new api idea to generalize SequentialMetaSolver, by creating a DAG of solver/transformation that can be used to solve a problem, it allows "parallel" solver tries (in different branches of the DAG) even though it's not done in parallel in practice.
-Added transformation for most problem and associated tests.

fteicht and others added 23 commits May 5, 2026 21:04
…rename start_after_nunit to start_to_start_min_time_lag for coherency and completeness
this comes from the observation that many problem are generalisation of the other one (but without python inheritance), so solver from one problem can be used to the other one modulo transformation of the solutions.
We generalize therefore the sequentialmetasolver mecanism to include transformation nodes which transforms problem.
Moreover we can also build any dag of execution of different bricks. The mecanism still will evolve with the different needs or examples we could find in the lib.
@g-poveda
Copy link
Copy Markdown
Collaborator Author

closed and replace by #473

@g-poveda g-poveda closed this May 13, 2026
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