From 35c2912bd266422b4d0ac0324d3c8605f27ebdc5 Mon Sep 17 00:00:00 2001 From: Henri Lefebvre Date: Thu, 24 Oct 2024 16:01:05 +0200 Subject: [PATCH] reorganize include folder --- examples/bilevel-optimization/kkt.example.cpp | 2 +- .../mibs-from-file.example.cpp | 4 +- .../bilevel-optimization/mibs.example.cpp | 2 +- .../bilevel-optimization/padm.example.cpp | 8 +- .../assignment-bap.example.cpp | 21 +- .../assignment-penalty-bap.example.cpp | 22 +- .../facility.example.cpp | 16 +- .../knapsack.example.cpp | 5 +- .../robust_ccg.example.cpp | 4 +- .../robust_convexification.example.cpp | 6 +- lib/CMakeLists.txt | 333 +++++++++--------- .../modeling}/LowerLevelDescription.h | 8 +- .../modeling}/read_from_file.h | 2 +- .../modeling}/write_to_file.h | 2 +- .../optimizers}/wrappers/MibS/MibS.h | 10 +- .../optimizers}/wrappers/MibS/MibSCallbackI.h | 2 +- .../wrappers/MibS/Optimizers_MibS.h | 10 +- .../optimizers}/wrappers/MibS/impl_MibS.h | 0 .../wrappers/MibS/impl_MibSFromAPI.h | 6 +- .../wrappers/MibS/impl_MibSFromFile.h | 4 +- .../linear-algebra/MatrixIndices.h | 6 +- .../linear-algebra/SquareMatrix.h | 0 .../to_rotated_quadratic_cone.h | 4 +- .../idol/{modeling => general}/numericals.h | 0 .../idol/{ => general}/optimizers/Algorithm.h | 2 +- .../idol/{ => general}/optimizers/Optimizer.h | 4 +- .../optimizers/OptimizerFactory.h | 0 .../idol/{ => general}/optimizers/Timer.h | 0 .../idol/{ => general}/optimizers/logs.h | 2 +- .../idol/{ => general}/utils/Finally.h | 0 .../idol/{ => general}/utils/GeneratorPool.h | 0 .../{ => general}/utils/IteratorForward.h | 0 .../{ => general}/utils/LimitedWidthStream.h | 0 lib/include/idol/{ => general}/utils/Map.h | 0 .../idol/{ => general}/utils/Optional.h | 0 lib/include/idol/{ => general}/utils/Pair.h | 0 lib/include/idol/{ => general}/utils/Point.h | 17 +- lib/include/idol/{ => general}/utils/Set.h | 0 .../idol/{ => general}/utils/SilentMode.h | 0 .../idol/{ => general}/utils/SparseVector.h | 135 +++++-- lib/include/idol/{ => general}/utils/Vector.h | 0 .../utils/exceptions}/Exception.h | 0 .../utils/exceptions}/NotImplemented.h | 0 lib/include/idol/{ => general}/utils/sort.h | 0 lib/include/idol/{ => general}/utils/types.h | 2 +- lib/include/idol/{ => general}/utils/uuid.h | 0 .../idol/{ => mixed-integer}/modeling/Types.h | 2 +- .../modeling/annotations/Annotation.h | 0 .../modeling/annotations/impl_Annotation.h | 0 .../modeling/constraints/Ctr.h | 4 +- .../modeling/constraints/CtrVersion.h | 2 +- .../modeling/constraints/TempCtr.h | 2 +- .../modeling/expressions/AbstractExpr.h | 16 +- .../modeling/expressions/Constant.h | 10 +- .../modeling/expressions/Expr.h | 0 .../modeling/expressions/LinExpr.h | 14 +- .../modeling/expressions/QuadExpr.h | 2 +- .../expressions/operations/operators.h | 0 .../operations/operators_Constant.h | 2 +- .../expressions/operations/operators_Ctr.h | 2 +- .../expressions/operations/operators_Var.h | 2 +- .../expressions/operations/operators_utils.h | 0 .../matrix/AbstractMatrixCoefficient.h | 0 .../modeling/matrix/Column.h | 2 +- .../modeling/matrix/Matrix.h | 4 +- .../modeling/matrix/MatrixCoefficient.h | 0 .../matrix/MatrixCoefficientReference.h | 0 .../{ => mixed-integer}/modeling/matrix/Row.h | 2 +- .../{ => mixed-integer}/modeling/models/KKT.h | 4 +- .../modeling/models/Model.h | 20 +- .../modeling/objects/Env.h | 6 +- .../modeling/objects/Object.h | 8 +- .../modeling/objects/ObjectId.h | 0 .../modeling/objects/Version.h | 0 .../modeling/objects/Versions.h | 6 +- .../modeling/parameters/Param.h | 8 +- .../modeling/variables/TempVar.h | 2 +- .../modeling/variables/Var.h | 4 +- .../modeling/variables/VarVersion.h | 4 +- .../branch-and-bound/BranchAndBound.h | 16 +- .../Optimizers_BranchAndBound.h | 24 +- .../factories/BranchingRuleFactory.h | 0 .../factories/BranchingWithPriority.h | 4 +- .../branching-rules/factories/Diver.h | 2 +- .../factories/FirstInfeasibleFound.h | 2 +- .../factories/LeastInfeasible.h | 2 +- .../factories/MostInfeasible.h | 2 +- .../branching-rules/factories/PseudoCost.h | 2 +- .../factories/StrongBranching.h | 6 +- .../factories/UniformlyRandom.h | 2 +- .../factories/VariableBranching.h | 4 +- .../branching-rules/impls/BranchingRule.h | 4 +- .../impls/BranchingWithPriority.h | 6 +- .../branching-rules/impls/Diver.h | 0 .../impls/FirstInfeasibleFound.h | 0 .../branching-rules/impls/LeastInfeasible.h | 0 .../branching-rules/impls/MostInfeasible.h | 0 .../branching-rules/impls/NodeScoreFunction.h | 0 .../branching-rules/impls/PseudoCost.h | 0 .../branching-rules/impls/StrongBranching.h | 4 +- .../branching-rules/impls/UniformlyRandom.h | 0 .../branching-rules/impls/VariableBranching.h | 4 +- .../strong-branching/StrongBranchingPhase.h | 2 +- .../AbstractBranchAndBoundCallbackI.h | 4 +- .../callbacks/BranchAndBoundCallback.h | 6 +- .../callbacks/BranchAndBoundCallbackFactory.h | 0 .../CallbackAsBranchAndBoundCallback.h | 2 +- .../branch-and-bound/logs/Factory.h | 2 +- .../optimizers}/branch-and-bound/logs/Info.h | 4 +- .../factories/BestBound.h | 2 +- .../factories/BestEstimate.h | 2 +- .../factories/BreadthFirst.h | 2 +- .../factories/DepthFirst.h | 2 +- .../factories/NodeSelectionRuleFactory.h | 0 .../factories/WorstBound.h | 2 +- .../node-selection-rules/impls/BestBound.h | 2 +- .../node-selection-rules/impls/BestEstimate.h | 4 +- .../node-selection-rules/impls/BreadthFirst.h | 2 +- .../node-selection-rules/impls/DepthFirst.h | 2 +- .../impls/NodeSelectionRule.h | 4 +- .../node-selection-rules/impls/WorstBound.h | 2 +- .../nodes/BranchingDecision.h | 6 +- .../branch-and-bound/nodes/DefaultNodeInfo.h | 2 +- .../nodes/DefaultNodeUpdator.h | 2 +- .../optimizers}/branch-and-bound/nodes/Node.h | 0 .../branch-and-bound/nodes/NodeSet.h | 2 +- .../branch-and-bound/nodes/NodeUpdator.h | 0 .../optimizers}/callbacks/Callback.h | 2 +- .../optimizers}/callbacks/CallbackFactory.h | 0 .../callbacks/cutting-planes/CutSeparation.h | 4 +- .../callbacks/cutting-planes/KnapsackCover.h | 6 +- .../cutting-planes/LazyCutCallback.h | 2 +- .../cutting-planes/UserCutCallback.h | 2 +- .../callbacks/heuristics/IntegerMaster.h | 8 +- .../callbacks/heuristics/LocalBranching.h | 6 +- .../optimizers}/callbacks/heuristics/RENS.h | 6 +- .../callbacks/heuristics/SimpleRounding.h | 4 +- .../watchers/ExportBranchAndBoundTreeToCSV.h | 6 +- .../callbacks/watchers/PlotManager.h | 2 +- .../callbacks/watchers/Plots_OptimalityGap.h | 6 +- .../dantzig-wolfe/ColumnGeneration.h | 0 .../dantzig-wolfe/DantzigWolfeDecomposition.h | 12 +- .../optimizers}/dantzig-wolfe/Formulation.h | 4 +- .../Optimizers_DantzigWolfeDecomposition.h | 8 +- .../optimizers}/dantzig-wolfe/SubProblem.h | 4 +- .../ArtificialCosts.h | 2 +- .../DantzigWolfeInfeasibilityStrategy.h | 4 +- .../infeasibility-strategies/FarkasPricing.h | 0 .../optimizers}/dantzig-wolfe/logs/Factory.h | 4 +- .../optimizers}/dantzig-wolfe/logs/Info.h | 2 +- .../DualPriceSmoothingStabilization.h | 2 +- .../dantzig-wolfe/stabilization/Neame.h | 0 .../stabilization/NoStabilization.h | 0 .../dantzig-wolfe/stabilization/Wentges.h | 0 .../optimizers}/padm/Formulation.h | 2 +- .../optimizers}/padm/Optimizers_PADM.h | 6 +- .../optimizers}/padm/PADM.h | 8 +- .../optimizers}/padm/PenaltyMethod.h | 6 +- .../optimizers}/padm/PenaltyUpdates.h | 0 .../optimizers}/padm/SubProblem.h | 4 +- .../optimizers}/wrappers/GLPK/GLPK.h | 4 +- .../wrappers/GLPK/Optimizers_GLPK.h | 2 +- .../optimizers}/wrappers/Gurobi/Gurobi.h | 8 +- .../wrappers/Gurobi/GurobiCallbackI.h | 4 +- .../wrappers/Gurobi/Optimizers_Gurobi.h | 4 +- .../optimizers}/wrappers/HiGHS/HiGHS.h | 4 +- .../wrappers/HiGHS/Optimizers_HiGHS.h | 2 +- .../optimizers}/wrappers/Mosek/Mosek.h | 6 +- .../wrappers/Mosek/MosekCallbackI.h | 2 +- .../wrappers/Mosek/Optimizers_Mosek.h | 2 +- .../wrappers/OptimizerWithLazyUpdates.h | 4 +- .../optimizers}/wrappers/Osi/Optimizers_Osi.h | 2 +- .../optimizers}/wrappers/Osi/Osi.h | 2 +- .../wrappers/Osi/OsiIdolSolverInterface.h | 2 +- .../facility-location-problem/FLP_Instance.h | 0 .../GAP_Instance.h | 0 .../problems/helpers/distances.h | 0 .../problems/helpers/parse_delimited.h | 0 .../problems/knapsack-problem/KP_Instance.h | 0 .../multiple-knapsack-problem/MKP_Instance.h | 0 .../staff-rostering-problem/SRP_Instance.h | 0 lib/include/idol/modeling.h | 8 +- .../modeling}/StageDescription.h | 6 +- lib/include/idol/solvers.h | 42 +-- lib/src/containers/uuid.cpp | 2 +- .../modeling/annotations/impl_Annotation.cpp | 4 +- .../bilevel-optimization/read_from_file.cpp | 10 +- .../bilevel-optimization/write_to_file.cpp | 4 +- lib/src/modeling/constraints/Ctr.cpp | 4 +- lib/src/modeling/constraints/TempCtr.cpp | 6 +- lib/src/modeling/expressions/Constant.cpp | 6 +- .../expressions/operations/operators.cpp | 4 +- .../operations/operators_Constant.cpp | 2 +- .../expressions/operations/operators_Ctr.cpp | 2 +- .../expressions/operations/operators_Var.cpp | 2 +- lib/src/modeling/matrix/Column.cpp | 4 +- lib/src/modeling/matrix/Matrix.cpp | 4 +- lib/src/modeling/matrix/MatrixCoefficient.cpp | 4 +- .../matrix/MatrixCoefficientReference.cpp | 4 +- lib/src/modeling/matrix/Row.cpp | 6 +- lib/src/modeling/models/KKT.cpp | 4 +- lib/src/modeling/models/Model.cpp | 4 +- lib/src/modeling/numericals.cpp | 4 - lib/src/modeling/objects/Env.cpp | 4 +- lib/src/modeling/variables/Var.cpp | 4 +- lib/src/optimizers/Algorithm.cpp | 2 +- lib/src/optimizers/Optimizer.cpp | 4 +- lib/src/optimizers/Timer.cpp | 2 +- .../wrappers/MibS/MibS.cpp | 4 +- .../wrappers/MibS/Optimizers_MibS.cpp | 6 +- .../wrappers/MibS/impl_MibSFromAPI.cpp | 10 +- .../wrappers/MibS/impl_MibSFromFile.cpp | 10 +- lib/src/optimizers/logs.cpp | 2 +- .../factories/StrongBranching.cpp | 2 +- .../factories/StrongBranchingPhase.cpp | 2 +- .../nodes/DefaultNodeInfo.cpp | 6 +- .../callbacks/Callback.cpp | 4 +- .../callbacks/CutSeparation.cpp | 4 +- .../callbacks/heuristics/LocalBranching.cpp | 6 +- .../callbacks/heuristics/RENS.cpp | 4 +- .../callbacks/heuristics/SimpleRounding.cpp | 6 +- .../callbacks/watchers/PlotManager.cpp | 2 +- .../watchers/Plots_OptimalityGap.cpp | 4 +- .../dantzig-wolfe/ColumnGeneration.cpp | 2 +- .../DantzigWolfeDecomposition.cpp | 12 +- .../dantzig-wolfe/Formulation.cpp | 6 +- .../Optimizers_DantzigWolfeDecomposition.cpp | 4 +- .../dantzig-wolfe/SubProblem.cpp | 2 +- .../ArtificialCosts.cpp | 4 +- .../DantzigWolfeInfeasibilityStrategy.cpp | 2 +- .../FarkasPricing.cpp | 4 +- .../dantzig-wolfe/logs/Info.cpp | 4 +- .../padm/Formulation.cpp | 8 +- .../padm/Optimizers_PADM.cpp | 4 +- .../mixed-integer-optimization/padm/PADM.cpp | 4 +- .../padm/PenaltyMethod.cpp | 2 +- .../padm/PenaltyUpdates.cpp | 2 +- .../padm/SubProblem.cpp | 2 +- .../wrappers/GLPK/GLPK.cpp | 6 +- .../wrappers/GLPK/Optimizers_GLPK.cpp | 8 +- .../wrappers/Gurobi/Gurobi.cpp | 6 +- .../wrappers/Gurobi/GurobiCallbackI.cpp | 4 +- .../wrappers/Gurobi/Optimizers_Gurobi.cpp | 4 +- .../wrappers/HiGHS/HiGHS.cpp | 6 +- .../wrappers/HiGHS/Optimizers_HiGHS.cpp | 4 +- .../wrappers/Mosek/Mosek.cpp | 6 +- .../wrappers/Mosek/MosekCallbackI.cpp | 4 +- .../wrappers/Mosek/Optimizers_Mosek.cpp | 6 +- .../wrappers/Osi/Optimizers_Osi.cpp | 2 +- .../wrappers/Osi/Osi.cpp | 4 +- .../wrappers/Osi/OsiIdolSolverInterface.cpp | 4 +- .../FLP_Instance.cpp | 8 +- .../GAP_Instance.cpp | 2 +- .../problems/knapsack-problem/KP_Instance.cpp | 2 +- .../MKP_Instance.cpp | 2 +- .../staff-rostering-problem/SRP_Instance.cpp | 4 +- tests/branch-and-bound/knapsack.cpp | 32 +- tests/branch-and-bound/location.cpp | 30 +- tests/branch-and-price/assignment.cpp | 26 +- .../Gurobi.create-constraint-with-backend.cpp | 2 +- ...robi.create-constraint-without-backend.cpp | 2 +- ...e-variable-and-constraint-with-backend.cpp | 2 +- .../Gurobi.create-variable-with-backend.cpp | 2 +- ...Gurobi.create-variable-without-backend.cpp | 2 +- .../Gurobi.update-constraint-with-backend.cpp | 2 +- .../Gurobi.update-objective-with-backend.cpp | 2 +- .../Gurobi.update-variable-with-backend.cpp | 2 +- tests/wrappers/all/toy_lp.cpp | 10 +- tests/wrappers/all/toy_milp.cpp | 10 +- 269 files changed, 830 insertions(+), 741 deletions(-) rename lib/include/idol/{modeling/bilevel-optimization => bilevel/modeling}/LowerLevelDescription.h (91%) rename lib/include/idol/{modeling/bilevel-optimization => bilevel/modeling}/read_from_file.h (97%) rename lib/include/idol/{modeling/bilevel-optimization => bilevel/modeling}/write_to_file.h (86%) rename lib/include/idol/{optimizers/bilevel-optimization => bilevel/optimizers}/wrappers/MibS/MibS.h (79%) rename lib/include/idol/{optimizers/bilevel-optimization => bilevel/optimizers}/wrappers/MibS/MibSCallbackI.h (98%) rename lib/include/idol/{optimizers/bilevel-optimization => bilevel/optimizers}/wrappers/MibS/Optimizers_MibS.h (90%) rename lib/include/idol/{optimizers/bilevel-optimization => bilevel/optimizers}/wrappers/MibS/impl_MibS.h (100%) rename lib/include/idol/{optimizers/bilevel-optimization => bilevel/optimizers}/wrappers/MibS/impl_MibSFromAPI.h (92%) rename lib/include/idol/{optimizers/bilevel-optimization => bilevel/optimizers}/wrappers/MibS/impl_MibSFromFile.h (92%) rename lib/include/idol/{ => general}/linear-algebra/MatrixIndices.h (86%) rename lib/include/idol/{ => general}/linear-algebra/SquareMatrix.h (100%) rename lib/include/idol/{ => general}/linear-algebra/to_rotated_quadratic_cone.h (96%) rename lib/include/idol/{modeling => general}/numericals.h (100%) rename lib/include/idol/{ => general}/optimizers/Algorithm.h (96%) rename lib/include/idol/{ => general}/optimizers/Optimizer.h (98%) rename lib/include/idol/{ => general}/optimizers/OptimizerFactory.h (100%) rename lib/include/idol/{ => general}/optimizers/Timer.h (100%) rename lib/include/idol/{ => general}/optimizers/logs.h (90%) rename lib/include/idol/{ => general}/utils/Finally.h (100%) rename lib/include/idol/{ => general}/utils/GeneratorPool.h (100%) rename lib/include/idol/{ => general}/utils/IteratorForward.h (100%) rename lib/include/idol/{ => general}/utils/LimitedWidthStream.h (100%) rename lib/include/idol/{ => general}/utils/Map.h (100%) rename lib/include/idol/{ => general}/utils/Optional.h (100%) rename lib/include/idol/{ => general}/utils/Pair.h (100%) rename lib/include/idol/{ => general}/utils/Point.h (59%) rename lib/include/idol/{ => general}/utils/Set.h (100%) rename lib/include/idol/{ => general}/utils/SilentMode.h (100%) rename lib/include/idol/{ => general}/utils/SparseVector.h (81%) rename lib/include/idol/{ => general}/utils/Vector.h (100%) rename lib/include/idol/{errors => general/utils/exceptions}/Exception.h (100%) rename lib/include/idol/{errors => general/utils/exceptions}/NotImplemented.h (100%) rename lib/include/idol/{ => general}/utils/sort.h (100%) rename lib/include/idol/{ => general}/utils/types.h (98%) rename lib/include/idol/{ => general}/utils/uuid.h (100%) rename lib/include/idol/{ => mixed-integer}/modeling/Types.h (96%) rename lib/include/idol/{ => mixed-integer}/modeling/annotations/Annotation.h (100%) rename lib/include/idol/{ => mixed-integer}/modeling/annotations/impl_Annotation.h (100%) rename lib/include/idol/{ => mixed-integer}/modeling/constraints/Ctr.h (97%) rename lib/include/idol/{ => mixed-integer}/modeling/constraints/CtrVersion.h (89%) rename lib/include/idol/{ => mixed-integer}/modeling/constraints/TempCtr.h (98%) rename lib/include/idol/{ => mixed-integer}/modeling/expressions/AbstractExpr.h (97%) rename lib/include/idol/{ => mixed-integer}/modeling/expressions/Constant.h (98%) rename lib/include/idol/{ => mixed-integer}/modeling/expressions/Expr.h (100%) rename lib/include/idol/{ => mixed-integer}/modeling/expressions/LinExpr.h (87%) rename lib/include/idol/{ => mixed-integer}/modeling/expressions/QuadExpr.h (98%) rename lib/include/idol/{ => mixed-integer}/modeling/expressions/operations/operators.h (100%) rename lib/include/idol/{ => mixed-integer}/modeling/expressions/operations/operators_Constant.h (97%) rename lib/include/idol/{ => mixed-integer}/modeling/expressions/operations/operators_Ctr.h (98%) rename lib/include/idol/{ => mixed-integer}/modeling/expressions/operations/operators_Var.h (98%) rename lib/include/idol/{ => mixed-integer}/modeling/expressions/operations/operators_utils.h (100%) rename lib/include/idol/{ => mixed-integer}/modeling/matrix/AbstractMatrixCoefficient.h (100%) rename lib/include/idol/{ => mixed-integer}/modeling/matrix/Column.h (99%) rename lib/include/idol/{ => mixed-integer}/modeling/matrix/Matrix.h (88%) rename lib/include/idol/{ => mixed-integer}/modeling/matrix/MatrixCoefficient.h (100%) rename lib/include/idol/{ => mixed-integer}/modeling/matrix/MatrixCoefficientReference.h (100%) rename lib/include/idol/{ => mixed-integer}/modeling/matrix/Row.h (99%) rename lib/include/idol/{ => mixed-integer}/modeling/models/KKT.h (93%) rename lib/include/idol/{ => mixed-integer}/modeling/models/Model.h (98%) rename lib/include/idol/{ => mixed-integer}/modeling/objects/Env.h (96%) rename lib/include/idol/{ => mixed-integer}/modeling/objects/Object.h (96%) rename lib/include/idol/{ => mixed-integer}/modeling/objects/ObjectId.h (100%) rename lib/include/idol/{ => mixed-integer}/modeling/objects/Version.h (100%) rename lib/include/idol/{ => mixed-integer}/modeling/objects/Versions.h (96%) rename lib/include/idol/{ => mixed-integer}/modeling/parameters/Param.h (94%) rename lib/include/idol/{ => mixed-integer}/modeling/variables/TempVar.h (98%) rename lib/include/idol/{ => mixed-integer}/modeling/variables/Var.h (97%) rename lib/include/idol/{ => mixed-integer}/modeling/variables/VarVersion.h (85%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/BranchAndBound.h (95%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/Optimizers_BranchAndBound.h (95%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/branching-rules/factories/BranchingRuleFactory.h (100%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/branching-rules/factories/BranchingWithPriority.h (90%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/branching-rules/factories/Diver.h (91%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/branching-rules/factories/FirstInfeasibleFound.h (91%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/branching-rules/factories/LeastInfeasible.h (91%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/branching-rules/factories/MostInfeasible.h (91%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/branching-rules/factories/PseudoCost.h (91%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/branching-rules/factories/StrongBranching.h (89%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/branching-rules/factories/UniformlyRandom.h (94%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/branching-rules/factories/VariableBranching.h (93%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/branching-rules/impls/BranchingRule.h (93%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/branching-rules/impls/BranchingWithPriority.h (90%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/branching-rules/impls/Diver.h (100%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/branching-rules/impls/FirstInfeasibleFound.h (100%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/branching-rules/impls/LeastInfeasible.h (100%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/branching-rules/impls/MostInfeasible.h (100%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/branching-rules/impls/NodeScoreFunction.h (100%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/branching-rules/impls/PseudoCost.h (100%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/branching-rules/impls/StrongBranching.h (96%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/branching-rules/impls/UniformlyRandom.h (100%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/branching-rules/impls/VariableBranching.h (97%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/branching-rules/impls/strong-branching/StrongBranchingPhase.h (98%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/callbacks/AbstractBranchAndBoundCallbackI.h (92%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/callbacks/BranchAndBoundCallback.h (97%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/callbacks/BranchAndBoundCallbackFactory.h (100%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/callbacks/CallbackAsBranchAndBoundCallback.h (97%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/logs/Factory.h (92%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/logs/Info.h (98%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/node-selection-rules/factories/BestBound.h (86%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/node-selection-rules/factories/BestEstimate.h (86%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/node-selection-rules/factories/BreadthFirst.h (86%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/node-selection-rules/factories/DepthFirst.h (86%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/node-selection-rules/factories/NodeSelectionRuleFactory.h (100%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/node-selection-rules/factories/WorstBound.h (86%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/node-selection-rules/impls/BestBound.h (88%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/node-selection-rules/impls/BestEstimate.h (94%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/node-selection-rules/impls/BreadthFirst.h (88%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/node-selection-rules/impls/DepthFirst.h (88%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/node-selection-rules/impls/NodeSelectionRule.h (83%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/node-selection-rules/impls/WorstBound.h (88%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/nodes/BranchingDecision.h (80%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/nodes/DefaultNodeInfo.h (97%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/nodes/DefaultNodeUpdator.h (99%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/nodes/Node.h (100%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/nodes/NodeSet.h (99%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/branch-and-bound/nodes/NodeUpdator.h (100%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/callbacks/Callback.h (98%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/callbacks/CallbackFactory.h (100%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/callbacks/cutting-planes/CutSeparation.h (89%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/callbacks/cutting-planes/KnapsackCover.h (98%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/callbacks/cutting-planes/LazyCutCallback.h (96%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/callbacks/cutting-planes/UserCutCallback.h (95%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/callbacks/heuristics/IntegerMaster.h (95%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/callbacks/heuristics/LocalBranching.h (86%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/callbacks/heuristics/RENS.h (87%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/callbacks/heuristics/SimpleRounding.h (81%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/callbacks/watchers/ExportBranchAndBoundTreeToCSV.h (92%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/callbacks/watchers/PlotManager.h (96%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/callbacks/watchers/Plots_OptimalityGap.h (82%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/dantzig-wolfe/ColumnGeneration.h (100%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/dantzig-wolfe/DantzigWolfeDecomposition.h (86%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/dantzig-wolfe/Formulation.h (97%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/dantzig-wolfe/Optimizers_DantzigWolfeDecomposition.h (90%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/dantzig-wolfe/SubProblem.h (94%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/dantzig-wolfe/infeasibility-strategies/ArtificialCosts.h (96%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/dantzig-wolfe/infeasibility-strategies/DantzigWolfeInfeasibilityStrategy.h (95%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/dantzig-wolfe/infeasibility-strategies/FarkasPricing.h (100%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/dantzig-wolfe/logs/Factory.h (96%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/dantzig-wolfe/logs/Info.h (98%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/dantzig-wolfe/stabilization/DualPriceSmoothingStabilization.h (95%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/dantzig-wolfe/stabilization/Neame.h (100%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/dantzig-wolfe/stabilization/NoStabilization.h (100%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/dantzig-wolfe/stabilization/Wentges.h (100%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/padm/Formulation.h (98%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/padm/Optimizers_PADM.h (96%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/padm/PADM.h (89%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/padm/PenaltyMethod.h (92%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/padm/PenaltyUpdates.h (100%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/padm/SubProblem.h (89%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/wrappers/GLPK/GLPK.h (88%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/wrappers/GLPK/Optimizers_GLPK.h (97%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/wrappers/Gurobi/Gurobi.h (87%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/wrappers/Gurobi/GurobiCallbackI.h (91%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/wrappers/Gurobi/Optimizers_Gurobi.h (96%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/wrappers/HiGHS/HiGHS.h (89%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/wrappers/HiGHS/Optimizers_HiGHS.h (97%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/wrappers/Mosek/Mosek.h (89%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/wrappers/Mosek/MosekCallbackI.h (95%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/wrappers/Mosek/Optimizers_Mosek.h (97%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/wrappers/OptimizerWithLazyUpdates.h (99%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/wrappers/Osi/Optimizers_Osi.h (96%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/wrappers/Osi/Osi.h (97%) rename lib/include/idol/{optimizers/mixed-integer-optimization => mixed-integer/optimizers}/wrappers/Osi/OsiIdolSolverInterface.h (99%) rename lib/include/idol/{ => mixed-integer}/problems/facility-location-problem/FLP_Instance.h (100%) rename lib/include/idol/{ => mixed-integer}/problems/generalized-assignment-problem/GAP_Instance.h (100%) rename lib/include/idol/{ => mixed-integer}/problems/helpers/distances.h (100%) rename lib/include/idol/{ => mixed-integer}/problems/helpers/parse_delimited.h (100%) rename lib/include/idol/{ => mixed-integer}/problems/knapsack-problem/KP_Instance.h (100%) rename lib/include/idol/{ => mixed-integer}/problems/multiple-knapsack-problem/MKP_Instance.h (100%) rename lib/include/idol/{ => mixed-integer}/problems/staff-rostering-problem/SRP_Instance.h (100%) rename lib/include/idol/{modeling/robust-optimization => robust/modeling}/StageDescription.h (91%) delete mode 100644 lib/src/modeling/numericals.cpp diff --git a/examples/bilevel-optimization/kkt.example.cpp b/examples/bilevel-optimization/kkt.example.cpp index ee429f0a..bb3e6a6f 100644 --- a/examples/bilevel-optimization/kkt.example.cpp +++ b/examples/bilevel-optimization/kkt.example.cpp @@ -5,7 +5,7 @@ #include #include "idol/optimizers/bilevel-optimization/wrappers/MibS/MibS.h" #include "idol/modeling/bilevel-optimization/LowerLevelDescription.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.h" +#include "idol/mixed-integer/optimizers/wrappers/Gurobi/Gurobi.h" #include "idol/modeling/bilevel-optimization/read_from_file.h" #include "idol/modeling/models/KKT.h" diff --git a/examples/bilevel-optimization/mibs-from-file.example.cpp b/examples/bilevel-optimization/mibs-from-file.example.cpp index dc1bd80f..662334a8 100644 --- a/examples/bilevel-optimization/mibs-from-file.example.cpp +++ b/examples/bilevel-optimization/mibs-from-file.example.cpp @@ -4,9 +4,9 @@ #include #include "idol/modeling.h" #include "idol/modeling/bilevel-optimization/read_from_file.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.h" +#include "idol/mixed-integer/optimizers/wrappers/Gurobi/Gurobi.h" #include "idol/optimizers/bilevel-optimization/wrappers/MibS/MibS.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/Osi/Osi.h" +#include "idol/mixed-integer/optimizers/wrappers/Osi/Osi.h" using namespace idol; diff --git a/examples/bilevel-optimization/mibs.example.cpp b/examples/bilevel-optimization/mibs.example.cpp index 78016205..e2241207 100644 --- a/examples/bilevel-optimization/mibs.example.cpp +++ b/examples/bilevel-optimization/mibs.example.cpp @@ -5,7 +5,7 @@ #include #include "idol/optimizers/bilevel-optimization/wrappers/MibS/MibS.h" #include "idol/modeling/bilevel-optimization/LowerLevelDescription.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.h" +#include "idol/mixed-integer/optimizers/wrappers/Gurobi/Gurobi.h" using namespace idol; diff --git a/examples/bilevel-optimization/padm.example.cpp b/examples/bilevel-optimization/padm.example.cpp index e5725d7e..0f8f6ddc 100644 --- a/examples/bilevel-optimization/padm.example.cpp +++ b/examples/bilevel-optimization/padm.example.cpp @@ -5,10 +5,10 @@ #include #include #include -#include -#include "idol/optimizers/mixed-integer-optimization/padm/PADM.h" -#include "idol/optimizers/mixed-integer-optimization/padm/SubProblem.h" -#include "idol/optimizers/mixed-integer-optimization/padm/PenaltyUpdates.h" +#include +#include "idol/mixed-integer/optimizers/padm/PADM.h" +#include "idol/mixed-integer/optimizers/padm/SubProblem.h" +#include "idol/mixed-integer/optimizers/padm/PenaltyUpdates.h" int main(int t_argc, const char** t_argv) { diff --git a/examples/mixed-integer-optimization/assignment-bap.example.cpp b/examples/mixed-integer-optimization/assignment-bap.example.cpp index e07a48f2..d327224b 100644 --- a/examples/mixed-integer-optimization/assignment-bap.example.cpp +++ b/examples/mixed-integer-optimization/assignment-bap.example.cpp @@ -3,17 +3,16 @@ // #include #include "idol/modeling.h" -#include "idol/problems/generalized-assignment-problem/GAP_Instance.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/WorstBound.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/BranchAndBound.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/heuristics/IntegerMaster.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/MostInfeasible.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/DantzigWolfeDecomposition.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/FarkasPricing.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/stabilization/Neame.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/logs/Info.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/GLPK/GLPK.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/watchers/Plots_OptimalityGap.h" +#include "idol/mixed-integer/problems/generalized-assignment-problem/GAP_Instance.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/WorstBound.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/BranchAndBound.h" +#include "idol/mixed-integer/optimizers/callbacks/heuristics/IntegerMaster.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/MostInfeasible.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/DantzigWolfeDecomposition.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/infeasibility-strategies/FarkasPricing.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/stabilization/Neame.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/logs/Info.h" +#include "idol/mixed-integer/optimizers/wrappers/GLPK/GLPK.h" using namespace idol; diff --git a/examples/mixed-integer-optimization/assignment-penalty-bap.example.cpp b/examples/mixed-integer-optimization/assignment-penalty-bap.example.cpp index 7771e378..0e63940f 100644 --- a/examples/mixed-integer-optimization/assignment-penalty-bap.example.cpp +++ b/examples/mixed-integer-optimization/assignment-penalty-bap.example.cpp @@ -3,17 +3,17 @@ // #include #include "idol/modeling.h" -#include "idol/problems/generalized-assignment-problem/GAP_Instance.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/WorstBound.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/BranchAndBound.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/heuristics/IntegerMaster.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/MostInfeasible.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/DantzigWolfeDecomposition.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/FarkasPricing.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/stabilization/Neame.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/logs/Info.h" -#include "idol/optimizers/mixed-integer-optimization/padm/PenaltyMethod.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/GLPK/GLPK.h" +#include "idol/mixed-integer/problems/generalized-assignment-problem/GAP_Instance.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/WorstBound.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/BranchAndBound.h" +#include "idol/mixed-integer/optimizers/callbacks/heuristics/IntegerMaster.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/MostInfeasible.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/DantzigWolfeDecomposition.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/infeasibility-strategies/FarkasPricing.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/stabilization/Neame.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/logs/Info.h" +#include "idol/mixed-integer/optimizers/padm/PenaltyMethod.h" +#include "idol/mixed-integer/optimizers/wrappers/GLPK/GLPK.h" using namespace idol; diff --git a/examples/mixed-integer-optimization/facility.example.cpp b/examples/mixed-integer-optimization/facility.example.cpp index 96ce06df..7360a722 100644 --- a/examples/mixed-integer-optimization/facility.example.cpp +++ b/examples/mixed-integer-optimization/facility.example.cpp @@ -3,14 +3,14 @@ // #include #include "idol/modeling.h" -#include "idol/problems/facility-location-problem/FLP_Instance.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/BranchAndBound.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/PseudoCost.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/BestEstimate.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/HiGHS/HiGHS.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/cutting-planes/KnapsackCover.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/GLPK/GLPK.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.h" +#include "idol/mixed-integer/problems/facility-location-problem/FLP_Instance.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/BranchAndBound.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/PseudoCost.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/BestEstimate.h" +#include "idol/mixed-integer/optimizers/wrappers/HiGHS/HiGHS.h" +#include "idol/mixed-integer/optimizers/callbacks/cutting-planes/KnapsackCover.h" +#include "idol/mixed-integer/optimizers/wrappers/GLPK/GLPK.h" +#include "idol/mixed-integer/optimizers/wrappers/Gurobi/Gurobi.h" using namespace idol; diff --git a/examples/mixed-integer-optimization/knapsack.example.cpp b/examples/mixed-integer-optimization/knapsack.example.cpp index df89c8a0..c7914abb 100644 --- a/examples/mixed-integer-optimization/knapsack.example.cpp +++ b/examples/mixed-integer-optimization/knapsack.example.cpp @@ -2,9 +2,9 @@ // Created by henri on 06/04/23. // #include -#include "idol/problems/knapsack-problem/KP_Instance.h" +#include "idol/mixed-integer/problems/knapsack-problem/KP_Instance.h" #include "idol/modeling.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/HiGHS/HiGHS.h" +#include "idol/mixed-integer/optimizers/wrappers/HiGHS/HiGHS.h" using namespace idol; @@ -33,6 +33,7 @@ int main(int t_argc, const char** t_argv) { std::cout << "Objective value = " << model.get_best_obj() << std::endl; + std::cout << "Solution:\n"; std::cout << save_primal(model) << std::endl; return 0; diff --git a/examples/robust-optimization/robust_ccg.example.cpp b/examples/robust-optimization/robust_ccg.example.cpp index c4c631b0..04455e56 100644 --- a/examples/robust-optimization/robust_ccg.example.cpp +++ b/examples/robust-optimization/robust_ccg.example.cpp @@ -5,9 +5,9 @@ #include #include "idol/optimizers/bilevel-optimization/wrappers/MibS/MibS.h" #include "idol/modeling/bilevel-optimization/LowerLevelDescription.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.h" +#include "idol/mixed-integer/optimizers/wrappers/Gurobi/Gurobi.h" #include "idol/modeling/bilevel-optimization/read_from_file.h" -#include "idol/problems/facility-location-problem/FLP_Instance.h" +#include "idol/mixed-integer/problems/facility-location-problem/FLP_Instance.h" #include "idol/optimizers/robust-optimization/column-and-constraint-generation/ColumnAndConstraintGeneration.h" #include "idol/optimizers/robust-optimization/column-and-constraint-generation/separators/Bilevel.h" #include "idol/modeling/robust-optimization/StageDescription.h" diff --git a/examples/robust-optimization/robust_convexification.example.cpp b/examples/robust-optimization/robust_convexification.example.cpp index 1a863d8b..6790c526 100644 --- a/examples/robust-optimization/robust_convexification.example.cpp +++ b/examples/robust-optimization/robust_convexification.example.cpp @@ -5,14 +5,14 @@ #include #include "idol/optimizers/bilevel-optimization/wrappers/MibS/MibS.h" #include "idol/modeling/bilevel-optimization/LowerLevelDescription.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.h" +#include "idol/mixed-integer/optimizers/wrappers/Gurobi/Gurobi.h" #include "idol/modeling/bilevel-optimization/read_from_file.h" -#include "idol/problems/facility-location-problem/FLP_Instance.h" +#include "idol/mixed-integer/problems/facility-location-problem/FLP_Instance.h" #include "idol/optimizers/robust-optimization/column-and-constraint-generation/ColumnAndConstraintGeneration.h" #include "idol/optimizers/robust-optimization/column-and-constraint-generation/separators/Bilevel.h" #include "idol/modeling/robust-optimization/StageDescription.h" #include "idol/optimizers/robust-optimization/column-and-constraint-generation/stabilizers/TrustRegion.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/DantzigWolfeDecomposition.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/DantzigWolfeDecomposition.h" #include "idol/optimizers/robust-optimization/convexification/Convexification.h" using namespace idol; diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index f3791fa1..13620a29 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -1,245 +1,244 @@ add_library(idol STATIC - include/idol/modeling/numericals.h - include/idol/utils/Optional.h - include/idol/utils/Map.h + include/idol/general/numericals.h + include/idol/general/utils/Optional.h + include/idol/general/utils/Map.h include/idol/modeling.h - include/idol/modeling/parameters/Param.h - include/idol/modeling/Types.h - include/idol/modeling/expressions/Constant.h + include/idol/mixed-integer/modeling/parameters/Param.h + include/idol/mixed-integer/modeling/Types.h + include/idol/mixed-integer/modeling/expressions/Constant.h src/modeling/expressions/Constant.cpp - include/idol/modeling/matrix/AbstractMatrixCoefficient.h - include/idol/modeling/matrix/MatrixCoefficientReference.h - include/idol/modeling/matrix/MatrixCoefficient.h + include/idol/mixed-integer/modeling/matrix/AbstractMatrixCoefficient.h + include/idol/mixed-integer/modeling/matrix/MatrixCoefficientReference.h + include/idol/mixed-integer/modeling/matrix/MatrixCoefficient.h src/modeling/matrix/MatrixCoefficient.cpp src/modeling/matrix/MatrixCoefficientReference.cpp - include/idol/modeling/constraints/TempCtr.h + include/idol/mixed-integer/modeling/constraints/TempCtr.h src/modeling/constraints/TempCtr.cpp - include/idol/utils/IteratorForward.h - include/idol/modeling/variables/TempVar.h - include/idol/utils/Set.h - include/idol/errors/NotImplemented.h - include/idol/modeling/expressions/LinExpr.h - include/idol/modeling/matrix/Row.h + include/idol/general/utils/IteratorForward.h + include/idol/mixed-integer/modeling/variables/TempVar.h + include/idol/general/utils/Set.h + include/idol/general/utils/exceptions/NotImplemented.h + include/idol/mixed-integer/modeling/expressions/LinExpr.h + include/idol/mixed-integer/modeling/matrix/Row.h src/modeling/matrix/Row.cpp src/modeling/matrix/Column.cpp - include/idol/modeling/matrix/Column.h - include/idol/modeling/matrix/Matrix.h + include/idol/mixed-integer/modeling/matrix/Column.h + include/idol/mixed-integer/modeling/matrix/Matrix.h src/modeling/matrix/Matrix.cpp src/problems/generalized-assignment-problem/GAP_Instance.cpp - include/idol/problems/knapsack-problem/KP_Instance.h + include/idol/mixed-integer/problems/knapsack-problem/KP_Instance.h src/problems/knapsack-problem/KP_Instance.cpp - include/idol/problems/multiple-knapsack-problem/MKP_Instance.h + include/idol/mixed-integer/problems/multiple-knapsack-problem/MKP_Instance.h src/problems/multiple-knapsack-problem/MKP_Instance.cpp - include/idol/modeling/expressions/Expr.h - include/idol/modeling/expressions/operations/operators_Var.h + include/idol/mixed-integer/modeling/expressions/Expr.h + include/idol/mixed-integer/modeling/expressions/operations/operators_Var.h src/modeling/expressions/operations/operators_Var.cpp src/modeling/expressions/operations/operators_Ctr.cpp src/modeling/expressions/operations/operators_Constant.cpp - include/idol/modeling/expressions/operations/operators_Constant.h - include/idol/modeling/expressions/operations/operators_Ctr.h - include/idol/modeling/expressions/operations/operators.h - include/idol/problems/multiple-knapsack-problem/MKP_Instance.h + include/idol/mixed-integer/modeling/expressions/operations/operators_Constant.h + include/idol/mixed-integer/modeling/expressions/operations/operators_Ctr.h + include/idol/mixed-integer/modeling/expressions/operations/operators.h + include/idol/mixed-integer/problems/multiple-knapsack-problem/MKP_Instance.h src/problems/multiple-knapsack-problem/MKP_Instance.cpp src/problems/facility-location-problem/FLP_Instance.cpp - include/idol/problems/facility-location-problem/FLP_Instance.h - include/idol/problems/helpers/distances.h - include/idol/problems/helpers/parse_delimited.h - include/idol/modeling/expressions/operations/operators_utils.h - include/idol/modeling/expressions/QuadExpr.h - include/idol/modeling/expressions/AbstractExpr.h - include/idol/modeling/models/Model.h - include/idol/modeling/objects/Env.h - include/idol/modeling/variables/Var.h + include/idol/mixed-integer/problems/facility-location-problem/FLP_Instance.h + include/idol/mixed-integer/problems/helpers/distances.h + include/idol/mixed-integer/problems/helpers/parse_delimited.h + include/idol/mixed-integer/modeling/expressions/operations/operators_utils.h + include/idol/mixed-integer/modeling/expressions/QuadExpr.h + include/idol/mixed-integer/modeling/expressions/AbstractExpr.h + include/idol/mixed-integer/modeling/models/Model.h + include/idol/mixed-integer/modeling/objects/Env.h + include/idol/mixed-integer/modeling/variables/Var.h src/modeling/objects/Env.cpp - include/idol/modeling/variables/VarVersion.h - include/idol/modeling/objects/Versions.h - include/idol/modeling/objects/Object.h - include/idol/modeling/objects/ObjectId.h + include/idol/mixed-integer/modeling/variables/VarVersion.h + include/idol/mixed-integer/modeling/objects/Versions.h + include/idol/mixed-integer/modeling/objects/Object.h + include/idol/mixed-integer/modeling/objects/ObjectId.h src/modeling/models/Model.cpp - include/idol/modeling/constraints/Ctr.h - include/idol/modeling/constraints/CtrVersion.h - include/idol/modeling/objects/Version.h + include/idol/mixed-integer/modeling/constraints/Ctr.h + include/idol/mixed-integer/modeling/constraints/CtrVersion.h + include/idol/mixed-integer/modeling/objects/Version.h src/modeling/variables/Var.cpp src/modeling/constraints/Ctr.cpp - include/idol/optimizers/Optimizer.h - include/idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Optimizers_Gurobi.h - include/idol/optimizers/mixed-integer-optimization/wrappers/OptimizerWithLazyUpdates.h + include/idol/general/optimizers/Optimizer.h + include/idol/mixed-integer/optimizers/wrappers/Gurobi/Optimizers_Gurobi.h + include/idol/mixed-integer/optimizers/wrappers/OptimizerWithLazyUpdates.h src/optimizers/mixed-integer-optimization/wrappers/Gurobi/Optimizers_Gurobi.cpp src/optimizers/Optimizer.cpp - include/idol/optimizers/Algorithm.h + include/idol/general/optimizers/Algorithm.h src/optimizers/Algorithm.cpp src/optimizers/Timer.cpp - include/idol/modeling/annotations/Annotation.h + include/idol/mixed-integer/modeling/annotations/Annotation.h src/modeling/annotations/impl_Annotation.cpp - include/idol/modeling/annotations/impl_Annotation.h - include/idol/modeling/models/Model.h - include/idol/utils/GeneratorPool.h - include/idol/utils/types.h - include/idol/optimizers/mixed-integer-optimization/wrappers/GLPK/Optimizers_GLPK.h + include/idol/mixed-integer/modeling/annotations/impl_Annotation.h + include/idol/mixed-integer/modeling/models/Model.h + include/idol/general/utils/GeneratorPool.h + include/idol/general/utils/types.h + include/idol/mixed-integer/optimizers/wrappers/GLPK/Optimizers_GLPK.h include/idol/solvers.h src/optimizers/mixed-integer-optimization/wrappers/GLPK/Optimizers_GLPK.cpp - include/idol/optimizers/mixed-integer-optimization/wrappers/Mosek/Optimizers_Mosek.h + include/idol/mixed-integer/optimizers/wrappers/Mosek/Optimizers_Mosek.h src/optimizers/mixed-integer-optimization/wrappers/Mosek/Optimizers_Mosek.cpp - include/idol/linear-algebra/MatrixIndices.h - include/idol/linear-algebra/SquareMatrix.h - include/idol/linear-algebra/to_rotated_quadratic_cone.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/Optimizers_BranchAndBound.h - include/idol/optimizers/OptimizerFactory.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/BranchAndBound.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/BranchingRuleFactory.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/NodeSelectionRuleFactory.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/DepthFirst.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/BranchingRule.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/NodeSelectionRule.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/Node.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/NodeUpdator.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/DepthFirst.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/BreadthFirst.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/WorstBound.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/BestBound.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/WorstBound.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/BestBound.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/BreadthFirst.h - include/idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.h - include/idol/optimizers/mixed-integer-optimization/wrappers/GLPK/GLPK.h - include/idol/optimizers/mixed-integer-optimization/wrappers/Mosek/Mosek.h + include/idol/general/linear-algebra/MatrixIndices.h + include/idol/general/linear-algebra/SquareMatrix.h + include/idol/general/linear-algebra/to_rotated_quadratic_cone.h + include/idol/mixed-integer/optimizers/branch-and-bound/Optimizers_BranchAndBound.h + include/idol/general/optimizers/OptimizerFactory.h + include/idol/mixed-integer/optimizers/branch-and-bound/BranchAndBound.h + include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/BranchingRuleFactory.h + include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/NodeSelectionRuleFactory.h + include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/DepthFirst.h + include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/BranchingRule.h + include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/NodeSelectionRule.h + include/idol/mixed-integer/optimizers/branch-and-bound/nodes/Node.h + include/idol/mixed-integer/optimizers/branch-and-bound/nodes/NodeUpdator.h + include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/DepthFirst.h + include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/BreadthFirst.h + include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/WorstBound.h + include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/BestBound.h + include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/WorstBound.h + include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/BestBound.h + include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/BreadthFirst.h + include/idol/mixed-integer/optimizers/wrappers/Gurobi/Gurobi.h + include/idol/mixed-integer/optimizers/wrappers/GLPK/GLPK.h + include/idol/mixed-integer/optimizers/wrappers/Mosek/Mosek.h src/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.cpp src/optimizers/mixed-integer-optimization/wrappers/GLPK/GLPK.cpp src/optimizers/mixed-integer-optimization/wrappers/Mosek/Mosek.cpp - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/BranchAndBoundCallbackFactory.h - include/idol/optimizers/mixed-integer-optimization/callbacks/heuristics/IntegerMaster.h + include/idol/mixed-integer/optimizers/branch-and-bound/callbacks/BranchAndBoundCallbackFactory.h + include/idol/mixed-integer/optimizers/callbacks/heuristics/IntegerMaster.h src/optimizers/mixed-integer-optimization/wrappers/Gurobi/GurobiCallbackI.cpp - include/idol/optimizers/mixed-integer-optimization/callbacks/Callback.h + include/idol/mixed-integer/optimizers/callbacks/Callback.h src/optimizers/mixed-integer-optimization/callbacks/Callback.cpp - include/idol/optimizers/mixed-integer-optimization/callbacks/cutting-planes/CutSeparation.h + include/idol/mixed-integer/optimizers/callbacks/cutting-planes/CutSeparation.h src/optimizers/mixed-integer-optimization/callbacks/CutSeparation.cpp - include/idol/optimizers/mixed-integer-optimization/callbacks/cutting-planes/LazyCutCallback.h - include/idol/optimizers/mixed-integer-optimization/callbacks/cutting-planes/UserCutCallback.h - include/idol/optimizers/mixed-integer-optimization/callbacks/CallbackFactory.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/BranchAndBoundCallback.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/AbstractBranchAndBoundCallbackI.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/CallbackAsBranchAndBoundCallback.h - include/idol/problems/staff-rostering-problem/SRP_Instance.h + include/idol/mixed-integer/optimizers/callbacks/cutting-planes/LazyCutCallback.h + include/idol/mixed-integer/optimizers/callbacks/cutting-planes/UserCutCallback.h + include/idol/mixed-integer/optimizers/callbacks/CallbackFactory.h + include/idol/mixed-integer/optimizers/branch-and-bound/callbacks/BranchAndBoundCallback.h + include/idol/mixed-integer/optimizers/branch-and-bound/callbacks/AbstractBranchAndBoundCallbackI.h + include/idol/mixed-integer/optimizers/branch-and-bound/callbacks/CallbackAsBranchAndBoundCallback.h + include/idol/mixed-integer/problems/staff-rostering-problem/SRP_Instance.h src/problems/staff-rostering-problem/SRP_Instance.cpp - src/modeling/numericals.cpp - include/idol/optimizers/mixed-integer-optimization/callbacks/heuristics/SimpleRounding.h + include/idol/mixed-integer/optimizers/callbacks/heuristics/SimpleRounding.h src/optimizers/mixed-integer-optimization/callbacks/heuristics/SimpleRounding.cpp src/modeling/expressions/operations/operators.cpp - include/idol/optimizers/mixed-integer-optimization/callbacks/heuristics/RENS.h + include/idol/mixed-integer/optimizers/callbacks/heuristics/RENS.h src/optimizers/mixed-integer-optimization/callbacks/heuristics/RENS.cpp - include/idol/optimizers/mixed-integer-optimization/callbacks/heuristics/LocalBranching.h + include/idol/mixed-integer/optimizers/callbacks/heuristics/LocalBranching.h src/optimizers/mixed-integer-optimization/callbacks/heuristics/LocalBranching.cpp - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/VariableBranching.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/VariableBranching.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/MostInfeasible.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/MostInfeasible.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/LeastInfeasible.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/LeastInfeasible.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/UniformlyRandom.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/UniformlyRandom.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/FirstInfeasibleFound.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/FirstInfeasibleFound.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/StrongBranching.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/StrongBranching.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/NodeScoreFunction.h + include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/VariableBranching.h + include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/VariableBranching.h + include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/MostInfeasible.h + include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/MostInfeasible.h + include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/LeastInfeasible.h + include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/LeastInfeasible.h + include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/UniformlyRandom.h + include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/UniformlyRandom.h + include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/FirstInfeasibleFound.h + include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/FirstInfeasibleFound.h + include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/StrongBranching.h + include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/StrongBranching.h + include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/NodeScoreFunction.h src/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/StrongBranching.cpp - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/strong-branching/StrongBranchingPhase.h + include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/strong-branching/StrongBranchingPhase.h src/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/StrongBranchingPhase.cpp - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/PseudoCost.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/PseudoCost.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/DefaultNodeInfo.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/DefaultNodeUpdator.h + include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/PseudoCost.h + include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/PseudoCost.h + include/idol/mixed-integer/optimizers/branch-and-bound/nodes/DefaultNodeInfo.h + include/idol/mixed-integer/optimizers/branch-and-bound/nodes/DefaultNodeUpdator.h src/optimizers/mixed-integer-optimization/branch-and-bound/nodes/DefaultNodeInfo.cpp - include/idol/optimizers/mixed-integer-optimization/wrappers/HiGHS/HiGHS.h + include/idol/mixed-integer/optimizers/wrappers/HiGHS/HiGHS.h src/optimizers/mixed-integer-optimization/wrappers/HiGHS/HiGHS.cpp src/optimizers/mixed-integer-optimization/wrappers/HiGHS/Optimizers_HiGHS.cpp - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/BestEstimate.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/BestEstimate.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/Diver.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/Diver.h - include/idol/optimizers/mixed-integer-optimization/callbacks/watchers/ExportBranchAndBoundTreeToCSV.h - include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/DantzigWolfeDecomposition.h + include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/BestEstimate.h + include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/BestEstimate.h + include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/Diver.h + include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/Diver.h + include/idol/mixed-integer/optimizers/callbacks/watchers/ExportBranchAndBoundTreeToCSV.h + include/idol/mixed-integer/optimizers/dantzig-wolfe/DantzigWolfeDecomposition.h src/optimizers/mixed-integer-optimization/dantzig-wolfe/DantzigWolfeDecomposition.cpp - include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/SubProblem.h + include/idol/mixed-integer/optimizers/dantzig-wolfe/SubProblem.h src/optimizers/mixed-integer-optimization/dantzig-wolfe/SubProblem.cpp - include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/Formulation.h + include/idol/mixed-integer/optimizers/dantzig-wolfe/Formulation.h src/optimizers/mixed-integer-optimization/dantzig-wolfe/Formulation.cpp - include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/Optimizers_DantzigWolfeDecomposition.h + include/idol/mixed-integer/optimizers/dantzig-wolfe/Optimizers_DantzigWolfeDecomposition.h src/optimizers/mixed-integer-optimization/dantzig-wolfe/Optimizers_DantzigWolfeDecomposition.cpp - include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/DantzigWolfeInfeasibilityStrategy.h - include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/ColumnGeneration.h + include/idol/mixed-integer/optimizers/dantzig-wolfe/infeasibility-strategies/DantzigWolfeInfeasibilityStrategy.h + include/idol/mixed-integer/optimizers/dantzig-wolfe/ColumnGeneration.h src/optimizers/mixed-integer-optimization/dantzig-wolfe/ColumnGeneration.cpp - include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/FarkasPricing.h + include/idol/mixed-integer/optimizers/dantzig-wolfe/infeasibility-strategies/FarkasPricing.h src/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/FarkasPricing.cpp src/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/DantzigWolfeInfeasibilityStrategy.cpp - include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/stabilization/DualPriceSmoothingStabilization.h - include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/stabilization/Neame.h - include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/stabilization/Wentges.h - include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/stabilization/NoStabilization.h - include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/ArtificialCosts.h + include/idol/mixed-integer/optimizers/dantzig-wolfe/stabilization/DualPriceSmoothingStabilization.h + include/idol/mixed-integer/optimizers/dantzig-wolfe/stabilization/Neame.h + include/idol/mixed-integer/optimizers/dantzig-wolfe/stabilization/Wentges.h + include/idol/mixed-integer/optimizers/dantzig-wolfe/stabilization/NoStabilization.h + include/idol/mixed-integer/optimizers/dantzig-wolfe/infeasibility-strategies/ArtificialCosts.h src/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/ArtificialCosts.cpp - include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/logs/Factory.h - include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/logs/Info.h + include/idol/mixed-integer/optimizers/dantzig-wolfe/logs/Factory.h + include/idol/mixed-integer/optimizers/dantzig-wolfe/logs/Info.h src/optimizers/mixed-integer-optimization/dantzig-wolfe/logs/Info.cpp - include/idol/optimizers/logs.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/BranchingWithPriority.h + include/idol/general/optimizers/logs.h + include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/BranchingWithPriority.h src/optimizers/logs.cpp - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/BranchingWithPriority.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/BranchingDecision.h - include/idol/utils/Pair.h - include/idol/optimizers/mixed-integer-optimization/callbacks/cutting-planes/KnapsackCover.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/logs/Factory.h - include/idol/optimizers/mixed-integer-optimization/branch-and-bound/logs/Info.h - include/idol/utils/Finally.h + include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/BranchingWithPriority.h + include/idol/mixed-integer/optimizers/branch-and-bound/nodes/BranchingDecision.h + include/idol/general/utils/Pair.h + include/idol/mixed-integer/optimizers/callbacks/cutting-planes/KnapsackCover.h + include/idol/mixed-integer/optimizers/branch-and-bound/logs/Factory.h + include/idol/mixed-integer/optimizers/branch-and-bound/logs/Info.h + include/idol/general/utils/Finally.h src/optimizers/bilevel-optimization/wrappers/MibS/MibS.cpp - include/idol/optimizers/bilevel-optimization/wrappers/MibS/MibS.h + include/idol/bilevel/optimizers/wrappers/MibS/MibS.h src/optimizers/bilevel-optimization/wrappers/MibS/Optimizers_MibS.cpp - include/idol/optimizers/bilevel-optimization/wrappers/MibS/Optimizers_MibS.h + include/idol/bilevel/optimizers/wrappers/MibS/Optimizers_MibS.h src/optimizers/bilevel-optimization/wrappers/MibS/impl_MibSFromAPI.cpp - include/idol/optimizers/bilevel-optimization/wrappers/MibS/impl_MibSFromAPI.h + include/idol/bilevel/optimizers/wrappers/MibS/impl_MibSFromAPI.h src/optimizers/mixed-integer-optimization/wrappers/Osi/OsiIdolSolverInterface.cpp - include/idol/optimizers/mixed-integer-optimization/wrappers/Osi/OsiIdolSolverInterface.h + include/idol/mixed-integer/optimizers/wrappers/Osi/OsiIdolSolverInterface.h src/optimizers/mixed-integer-optimization/wrappers/Osi/Osi.cpp - include/idol/optimizers/mixed-integer-optimization/wrappers/Osi/Osi.h + include/idol/mixed-integer/optimizers/wrappers/Osi/Osi.h src/optimizers/mixed-integer-optimization/wrappers/Osi/Optimizers_Osi.cpp - include/idol/optimizers/mixed-integer-optimization/wrappers/Osi/Optimizers_Osi.h - include/idol/modeling/bilevel-optimization/read_from_file.h + include/idol/mixed-integer/optimizers/wrappers/Osi/Optimizers_Osi.h + include/idol/bilevel/modeling/read_from_file.h src/modeling/bilevel-optimization/read_from_file.cpp - include/idol/optimizers/mixed-integer-optimization/wrappers/Mosek/MosekCallbackI.h + include/idol/mixed-integer/optimizers/wrappers/Mosek/MosekCallbackI.h src/optimizers/mixed-integer-optimization/wrappers/Mosek/MosekCallbackI.cpp - include/idol/modeling/bilevel-optimization/LowerLevelDescription.h - include/idol/modeling/bilevel-optimization/write_to_file.h + include/idol/bilevel/modeling/LowerLevelDescription.h + include/idol/bilevel/modeling/write_to_file.h src/modeling/bilevel-optimization/write_to_file.cpp - include/idol/utils/LimitedWidthStream.h - include/idol/optimizers/bilevel-optimization/wrappers/MibS/impl_MibSFromFile.h + include/idol/general/utils/LimitedWidthStream.h + include/idol/bilevel/optimizers/wrappers/MibS/impl_MibSFromFile.h src/optimizers/bilevel-optimization/wrappers/MibS/impl_MibSFromFile.cpp - include/idol/utils/SilentMode.h - include/idol/modeling/robust-optimization/StageDescription.h - include/idol/modeling/models/KKT.h + include/idol/general/utils/SilentMode.h + include/idol/robust/modeling/StageDescription.h + include/idol/mixed-integer/modeling/models/KKT.h src/modeling/models/KKT.cpp src/optimizers/mixed-integer-optimization/padm/PADM.cpp - include/idol/optimizers/mixed-integer-optimization/padm/PADM.h + include/idol/mixed-integer/optimizers/padm/PADM.h src/optimizers/mixed-integer-optimization/padm/Optimizers_PADM.cpp - include/idol/optimizers/mixed-integer-optimization/padm/Optimizers_PADM.h + include/idol/mixed-integer/optimizers/padm/Optimizers_PADM.h src/optimizers/mixed-integer-optimization/padm/Formulation.cpp - include/idol/optimizers/mixed-integer-optimization/padm/Formulation.h + include/idol/mixed-integer/optimizers/padm/Formulation.h src/optimizers/mixed-integer-optimization/padm/SubProblem.cpp - include/idol/optimizers/mixed-integer-optimization/padm/SubProblem.h + include/idol/mixed-integer/optimizers/padm/SubProblem.h src/optimizers/mixed-integer-optimization/padm/PenaltyUpdates.cpp - include/idol/optimizers/mixed-integer-optimization/padm/PenaltyUpdates.h + include/idol/mixed-integer/optimizers/padm/PenaltyUpdates.h src/optimizers/mixed-integer-optimization/padm/PenaltyMethod.cpp - include/idol/optimizers/mixed-integer-optimization/padm/PenaltyMethod.h - include/idol/optimizers/bilevel-optimization/wrappers/MibS/impl_MibS.h - include/idol/utils/uuid.h + include/idol/mixed-integer/optimizers/padm/PenaltyMethod.h + include/idol/bilevel/optimizers/wrappers/MibS/impl_MibS.h + include/idol/general/utils/uuid.h src/containers/uuid.cpp - include/idol/optimizers/bilevel-optimization/wrappers/MibS/MibSCallbackI.h - include/idol/optimizers/mixed-integer-optimization/callbacks/watchers/PlotManager.h + include/idol/bilevel/optimizers/wrappers/MibS/MibSCallbackI.h + include/idol/mixed-integer/optimizers/callbacks/watchers/PlotManager.h src/optimizers/mixed-integer-optimization/callbacks/watchers/PlotManager.cpp - include/idol/optimizers/mixed-integer-optimization/callbacks/watchers/Plots_OptimalityGap.h + include/idol/mixed-integer/optimizers/callbacks/watchers/Plots_OptimalityGap.h src/optimizers/mixed-integer-optimization/callbacks/watchers/Plots_OptimalityGap.cpp - include/idol/utils/SparseVector.h - include/idol/utils/sort.h - include/idol/utils/Point.h + include/idol/general/utils/SparseVector.h + include/idol/general/utils/sort.h + include/idol/general/utils/Point.h ) find_package(OpenMP REQUIRED) diff --git a/lib/include/idol/modeling/bilevel-optimization/LowerLevelDescription.h b/lib/include/idol/bilevel/modeling/LowerLevelDescription.h similarity index 91% rename from lib/include/idol/modeling/bilevel-optimization/LowerLevelDescription.h rename to lib/include/idol/bilevel/modeling/LowerLevelDescription.h index e0f0699e..037c30fe 100644 --- a/lib/include/idol/modeling/bilevel-optimization/LowerLevelDescription.h +++ b/lib/include/idol/bilevel/modeling/LowerLevelDescription.h @@ -7,10 +7,10 @@ #include -#include "idol/modeling/constraints/Ctr.h" -#include "idol/modeling/variables/Var.h" -#include "idol/modeling/objects/Versions.h" -#include "idol/modeling/models/Model.h" +#include "idol/mixed-integer/modeling/constraints/Ctr.h" +#include "idol/mixed-integer/modeling/variables/Var.h" +#include "idol/mixed-integer/modeling/objects/Versions.h" +#include "idol/mixed-integer/modeling/models/Model.h" namespace idol::Bilevel { class LowerLevelDescription; diff --git a/lib/include/idol/modeling/bilevel-optimization/read_from_file.h b/lib/include/idol/bilevel/modeling/read_from_file.h similarity index 97% rename from lib/include/idol/modeling/bilevel-optimization/read_from_file.h rename to lib/include/idol/bilevel/modeling/read_from_file.h index 17a2bcbe..7a3552e6 100644 --- a/lib/include/idol/modeling/bilevel-optimization/read_from_file.h +++ b/lib/include/idol/bilevel/modeling/read_from_file.h @@ -6,7 +6,7 @@ #define IDOL_READ_FROM_FILE_H #include -#include "idol/modeling/models/Model.h" +#include "idol/mixed-integer/modeling/models/Model.h" #include "LowerLevelDescription.h" namespace idol::Bilevel { diff --git a/lib/include/idol/modeling/bilevel-optimization/write_to_file.h b/lib/include/idol/bilevel/modeling/write_to_file.h similarity index 86% rename from lib/include/idol/modeling/bilevel-optimization/write_to_file.h rename to lib/include/idol/bilevel/modeling/write_to_file.h index 3f5d98b7..8ec91bbf 100644 --- a/lib/include/idol/modeling/bilevel-optimization/write_to_file.h +++ b/lib/include/idol/bilevel/modeling/write_to_file.h @@ -6,7 +6,7 @@ #define IDOL_WRITE_TO_FILE_H #include -#include "idol/modeling/models/Model.h" +#include "idol/mixed-integer/modeling/models/Model.h" #include "LowerLevelDescription.h" namespace idol::Bilevel { diff --git a/lib/include/idol/optimizers/bilevel-optimization/wrappers/MibS/MibS.h b/lib/include/idol/bilevel/optimizers/wrappers/MibS/MibS.h similarity index 79% rename from lib/include/idol/optimizers/bilevel-optimization/wrappers/MibS/MibS.h rename to lib/include/idol/bilevel/optimizers/wrappers/MibS/MibS.h index 5ba7e7a4..16caaf3d 100644 --- a/lib/include/idol/optimizers/bilevel-optimization/wrappers/MibS/MibS.h +++ b/lib/include/idol/bilevel/optimizers/wrappers/MibS/MibS.h @@ -6,11 +6,11 @@ #define IDOL_MIBS_H #include -#include "idol/optimizers/OptimizerFactory.h" -#include "idol/modeling/annotations/Annotation.h" -#include "idol/modeling/constraints/Ctr.h" -#include "idol/modeling/bilevel-optimization/LowerLevelDescription.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/CallbackFactory.h" +#include "idol/general/optimizers/OptimizerFactory.h" +#include "idol/mixed-integer/modeling/annotations/Annotation.h" +#include "idol/mixed-integer/modeling/constraints/Ctr.h" +#include "idol/bilevel/modeling/LowerLevelDescription.h" +#include "idol/mixed-integer/optimizers/callbacks/CallbackFactory.h" #ifdef IDOL_USE_OSI #include diff --git a/lib/include/idol/optimizers/bilevel-optimization/wrappers/MibS/MibSCallbackI.h b/lib/include/idol/bilevel/optimizers/wrappers/MibS/MibSCallbackI.h similarity index 98% rename from lib/include/idol/optimizers/bilevel-optimization/wrappers/MibS/MibSCallbackI.h rename to lib/include/idol/bilevel/optimizers/wrappers/MibS/MibSCallbackI.h index c37e0887..ba73f7ba 100644 --- a/lib/include/idol/optimizers/bilevel-optimization/wrappers/MibS/MibSCallbackI.h +++ b/lib/include/idol/bilevel/optimizers/wrappers/MibS/MibSCallbackI.h @@ -7,7 +7,7 @@ #include #include -#include "idol/optimizers/mixed-integer-optimization/callbacks/Callback.h" +#include "idol/mixed-integer/optimizers/callbacks/Callback.h" #include "impl_MibSFromAPI.h" namespace idol { diff --git a/lib/include/idol/optimizers/bilevel-optimization/wrappers/MibS/Optimizers_MibS.h b/lib/include/idol/bilevel/optimizers/wrappers/MibS/Optimizers_MibS.h similarity index 90% rename from lib/include/idol/optimizers/bilevel-optimization/wrappers/MibS/Optimizers_MibS.h rename to lib/include/idol/bilevel/optimizers/wrappers/MibS/Optimizers_MibS.h index 5b81b5b5..8ed8c92a 100644 --- a/lib/include/idol/optimizers/bilevel-optimization/wrappers/MibS/Optimizers_MibS.h +++ b/lib/include/idol/bilevel/optimizers/wrappers/MibS/Optimizers_MibS.h @@ -8,12 +8,12 @@ #ifdef IDOL_USE_MIBS #include -#include "idol/optimizers/Optimizer.h" -#include "idol/modeling/annotations/Annotation.h" -#include "idol/modeling/constraints/Ctr.h" -#include "idol/modeling/bilevel-optimization/LowerLevelDescription.h" +#include "idol/general/optimizers/Optimizer.h" +#include "idol/mixed-integer/modeling/annotations/Annotation.h" +#include "idol/mixed-integer/modeling/constraints/Ctr.h" +#include "idol/bilevel/modeling/LowerLevelDescription.h" #include "impl_MibS.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/Callback.h" +#include "idol/mixed-integer/optimizers/callbacks/Callback.h" namespace idol::Optimizers::Bilevel { class MibS; diff --git a/lib/include/idol/optimizers/bilevel-optimization/wrappers/MibS/impl_MibS.h b/lib/include/idol/bilevel/optimizers/wrappers/MibS/impl_MibS.h similarity index 100% rename from lib/include/idol/optimizers/bilevel-optimization/wrappers/MibS/impl_MibS.h rename to lib/include/idol/bilevel/optimizers/wrappers/MibS/impl_MibS.h diff --git a/lib/include/idol/optimizers/bilevel-optimization/wrappers/MibS/impl_MibSFromAPI.h b/lib/include/idol/bilevel/optimizers/wrappers/MibS/impl_MibSFromAPI.h similarity index 92% rename from lib/include/idol/optimizers/bilevel-optimization/wrappers/MibS/impl_MibSFromAPI.h rename to lib/include/idol/bilevel/optimizers/wrappers/MibS/impl_MibSFromAPI.h index d8448ce5..99c7175a 100644 --- a/lib/include/idol/optimizers/bilevel-optimization/wrappers/MibS/impl_MibSFromAPI.h +++ b/lib/include/idol/bilevel/optimizers/wrappers/MibS/impl_MibSFromAPI.h @@ -7,11 +7,11 @@ #ifndef IDOL_IMPL_MIBS_FROM_API_H #define IDOL_IMPL_MIBS_FROM_API_H -#include "idol/modeling/models/Model.h" +#include "idol/mixed-integer/modeling/models/Model.h" #include "MibSModel.hpp" -#include "idol/modeling/bilevel-optimization/LowerLevelDescription.h" +#include "idol/bilevel/modeling/LowerLevelDescription.h" #include "impl_MibS.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/Callback.h" +#include "idol/mixed-integer/optimizers/callbacks/Callback.h" namespace idol { class MibSCallbackI; diff --git a/lib/include/idol/optimizers/bilevel-optimization/wrappers/MibS/impl_MibSFromFile.h b/lib/include/idol/bilevel/optimizers/wrappers/MibS/impl_MibSFromFile.h similarity index 92% rename from lib/include/idol/optimizers/bilevel-optimization/wrappers/MibS/impl_MibSFromFile.h rename to lib/include/idol/bilevel/optimizers/wrappers/MibS/impl_MibSFromFile.h index f2ef9a40..c8efeaac 100644 --- a/lib/include/idol/optimizers/bilevel-optimization/wrappers/MibS/impl_MibSFromFile.h +++ b/lib/include/idol/bilevel/optimizers/wrappers/MibS/impl_MibSFromFile.h @@ -7,10 +7,10 @@ #ifndef IDOL_IMPL_MIBSFROMFILE_H #define IDOL_IMPL_MIBSFROMFILE_H -#include "idol/modeling/models/Model.h" +#include "idol/mixed-integer/modeling/models/Model.h" #include "MibSModel.hpp" -#include "idol/modeling/bilevel-optimization/LowerLevelDescription.h" +#include "idol/bilevel/modeling/LowerLevelDescription.h" #include "impl_MibS.h" namespace idol::impl { diff --git a/lib/include/idol/linear-algebra/MatrixIndices.h b/lib/include/idol/general/linear-algebra/MatrixIndices.h similarity index 86% rename from lib/include/idol/linear-algebra/MatrixIndices.h rename to lib/include/idol/general/linear-algebra/MatrixIndices.h index c106ac49..d458513b 100644 --- a/lib/include/idol/linear-algebra/MatrixIndices.h +++ b/lib/include/idol/general/linear-algebra/MatrixIndices.h @@ -6,9 +6,9 @@ #define IDOL_MATRIXINDICES_H #include -#include "idol/utils/Map.h" -#include "idol/modeling/variables/Var.h" -#include "idol/utils/IteratorForward.h" +#include "idol/general/utils/Map.h" +#include "idol/mixed-integer/modeling/variables/Var.h" +#include "idol/general/utils/IteratorForward.h" namespace idol { class MatrixIndices; diff --git a/lib/include/idol/linear-algebra/SquareMatrix.h b/lib/include/idol/general/linear-algebra/SquareMatrix.h similarity index 100% rename from lib/include/idol/linear-algebra/SquareMatrix.h rename to lib/include/idol/general/linear-algebra/SquareMatrix.h diff --git a/lib/include/idol/linear-algebra/to_rotated_quadratic_cone.h b/lib/include/idol/general/linear-algebra/to_rotated_quadratic_cone.h similarity index 96% rename from lib/include/idol/linear-algebra/to_rotated_quadratic_cone.h rename to lib/include/idol/general/linear-algebra/to_rotated_quadratic_cone.h index a183502b..c16a4e1e 100644 --- a/lib/include/idol/linear-algebra/to_rotated_quadratic_cone.h +++ b/lib/include/idol/general/linear-algebra/to_rotated_quadratic_cone.h @@ -7,8 +7,8 @@ #ifdef IDOL_USE_EIGEN -#include "idol/modeling/expressions/QuadExpr.h" -#include "idol/modeling/expressions/LinExpr.h" +#include "idol/mixed-integer/modeling/expressions/QuadExpr.h" +#include "idol/mixed-integer/modeling/expressions/LinExpr.h" #include "SquareMatrix.h" namespace idol { diff --git a/lib/include/idol/modeling/numericals.h b/lib/include/idol/general/numericals.h similarity index 100% rename from lib/include/idol/modeling/numericals.h rename to lib/include/idol/general/numericals.h diff --git a/lib/include/idol/optimizers/Algorithm.h b/lib/include/idol/general/optimizers/Algorithm.h similarity index 96% rename from lib/include/idol/optimizers/Algorithm.h rename to lib/include/idol/general/optimizers/Algorithm.h index fe1df487..8a34a9bb 100644 --- a/lib/include/idol/optimizers/Algorithm.h +++ b/lib/include/idol/general/optimizers/Algorithm.h @@ -6,7 +6,7 @@ #define IDOL_ALGORITHM_H #include "Optimizer.h" -#include "idol/utils/Point.h" +#include "idol/general/utils/Point.h" namespace idol { class Algorithm; diff --git a/lib/include/idol/optimizers/Optimizer.h b/lib/include/idol/general/optimizers/Optimizer.h similarity index 98% rename from lib/include/idol/optimizers/Optimizer.h rename to lib/include/idol/general/optimizers/Optimizer.h index a95a37c0..828a1eb3 100644 --- a/lib/include/idol/optimizers/Optimizer.h +++ b/lib/include/idol/general/optimizers/Optimizer.h @@ -9,8 +9,8 @@ #include #include "Timer.h" -#include "idol/modeling/numericals.h" -#include "idol/utils/types.h" +#include "idol/general/numericals.h" +#include "idol/general/utils/types.h" namespace idol { class Model; diff --git a/lib/include/idol/optimizers/OptimizerFactory.h b/lib/include/idol/general/optimizers/OptimizerFactory.h similarity index 100% rename from lib/include/idol/optimizers/OptimizerFactory.h rename to lib/include/idol/general/optimizers/OptimizerFactory.h diff --git a/lib/include/idol/optimizers/Timer.h b/lib/include/idol/general/optimizers/Timer.h similarity index 100% rename from lib/include/idol/optimizers/Timer.h rename to lib/include/idol/general/optimizers/Timer.h diff --git a/lib/include/idol/optimizers/logs.h b/lib/include/idol/general/optimizers/logs.h similarity index 90% rename from lib/include/idol/optimizers/logs.h rename to lib/include/idol/general/optimizers/logs.h index 8413a9a9..b93944ac 100644 --- a/lib/include/idol/optimizers/logs.h +++ b/lib/include/idol/general/optimizers/logs.h @@ -7,7 +7,7 @@ #include #include -#include "idol/modeling/numericals.h" +#include "idol/general/numericals.h" namespace idol { diff --git a/lib/include/idol/utils/Finally.h b/lib/include/idol/general/utils/Finally.h similarity index 100% rename from lib/include/idol/utils/Finally.h rename to lib/include/idol/general/utils/Finally.h diff --git a/lib/include/idol/utils/GeneratorPool.h b/lib/include/idol/general/utils/GeneratorPool.h similarity index 100% rename from lib/include/idol/utils/GeneratorPool.h rename to lib/include/idol/general/utils/GeneratorPool.h diff --git a/lib/include/idol/utils/IteratorForward.h b/lib/include/idol/general/utils/IteratorForward.h similarity index 100% rename from lib/include/idol/utils/IteratorForward.h rename to lib/include/idol/general/utils/IteratorForward.h diff --git a/lib/include/idol/utils/LimitedWidthStream.h b/lib/include/idol/general/utils/LimitedWidthStream.h similarity index 100% rename from lib/include/idol/utils/LimitedWidthStream.h rename to lib/include/idol/general/utils/LimitedWidthStream.h diff --git a/lib/include/idol/utils/Map.h b/lib/include/idol/general/utils/Map.h similarity index 100% rename from lib/include/idol/utils/Map.h rename to lib/include/idol/general/utils/Map.h diff --git a/lib/include/idol/utils/Optional.h b/lib/include/idol/general/utils/Optional.h similarity index 100% rename from lib/include/idol/utils/Optional.h rename to lib/include/idol/general/utils/Optional.h diff --git a/lib/include/idol/utils/Pair.h b/lib/include/idol/general/utils/Pair.h similarity index 100% rename from lib/include/idol/utils/Pair.h rename to lib/include/idol/general/utils/Pair.h diff --git a/lib/include/idol/utils/Point.h b/lib/include/idol/general/utils/Point.h similarity index 59% rename from lib/include/idol/utils/Point.h rename to lib/include/idol/general/utils/Point.h index 783e3328..b566b072 100644 --- a/lib/include/idol/utils/Point.h +++ b/lib/include/idol/general/utils/Point.h @@ -7,8 +7,8 @@ #include "SparseVector.h" #include "types.h" -#include "idol/modeling/variables/Var.h" -#include "idol/modeling/numericals.h" +#include "idol/mixed-integer/modeling/variables/Var.h" +#include "idol/general/numericals.h" namespace idol { template class Point; @@ -40,6 +40,12 @@ class idol::Point : public SparseVector { [[nodiscard]] bool has_objective_value() const { return m_objective_value.has_value(); } void reset_objective_value() { m_objective_value.reset(); } + + Point& operator*=(double t_factor) override { return static_cast(SparseVector::operator*=(t_factor)); } + Point& operator+=(const Point& t_other) { return static_cast(SparseVector::operator+=(t_other)); } + Point& operator+=(Point&& t_other) { return static_cast(SparseVector::operator+=(std::move(t_other))); } + Point& operator-=(const Point& t_other) { return static_cast(SparseVector::operator-=(t_other)); } + Point& operator-=(Point&& t_other) { return static_cast(SparseVector::operator-=(std::move(t_other))); } }; template @@ -66,6 +72,13 @@ namespace idol { t_os << static_cast &>(t_point); return t_os; } + + template static Point operator+(Point&& t_x, Point&& t_y) { return Point(std::move(t_x)) += t_y; } + template static Point operator+(Point&& t_x, const Point& t_y) { return Point(std::move(t_x)) += t_y; } + template static Point operator+(const Point& t_x, Point&& t_y) { return Point(std::move(t_y)) += t_x; } + template static Point operator+(const Point& t_x, const Point& t_y) { return Point(t_x) += t_y; } + + template static Point operator*(double t_factor, const Point& t_y) { return Point(t_y) *= t_factor; } } #endif //IDOL_POINT_H diff --git a/lib/include/idol/utils/Set.h b/lib/include/idol/general/utils/Set.h similarity index 100% rename from lib/include/idol/utils/Set.h rename to lib/include/idol/general/utils/Set.h diff --git a/lib/include/idol/utils/SilentMode.h b/lib/include/idol/general/utils/SilentMode.h similarity index 100% rename from lib/include/idol/utils/SilentMode.h rename to lib/include/idol/general/utils/SilentMode.h diff --git a/lib/include/idol/utils/SparseVector.h b/lib/include/idol/general/utils/SparseVector.h similarity index 81% rename from lib/include/idol/utils/SparseVector.h rename to lib/include/idol/general/utils/SparseVector.h index 06a0fb47..9cec9c14 100644 --- a/lib/include/idol/utils/SparseVector.h +++ b/lib/include/idol/general/utils/SparseVector.h @@ -8,7 +8,8 @@ #include #include #include -#include "idol/utils/sort.h" +#include "sort.h" +#include "idol/general/utils/exceptions/Exception.h" namespace idol { template @@ -30,7 +31,7 @@ class idol::SparseVector { SortingCriteria m_sorting_criteria; bool m_is_reduced; // true if the vector does not contain duplicate indices - SparseVector binary_operation_on_sorted_vectors(const SparseVector& t_vec1, const SparseVector& t_vec2, const std::function& t_operation); + SparseVector& binary_operation_on_sorted_vectors(const SparseVector& t_vec2, const std::function& t_operation); public: SparseVector(); @@ -45,10 +46,10 @@ class idol::SparseVector { SparseVector& operator=(const SparseVector&) = default; SparseVector& operator=(SparseVector&&) noexcept = default; - SparseVector& operator+=(const SparseVector& t_vector); - SparseVector& operator-=(const SparseVector& t_vector); - SparseVector& operator*=(ValueT t_scalar); - SparseVector& operator/=(ValueT t_scalar); + virtual SparseVector& operator+=(const SparseVector& t_vector); + virtual SparseVector& operator-=(const SparseVector& t_vector); + virtual SparseVector& operator*=(ValueT t_scalar); + virtual SparseVector& operator/=(ValueT t_scalar); [[nodiscard]] unsigned int size() const { return m_indices.size(); } @@ -131,45 +132,82 @@ class idol::SparseVector { [[nodiscard]] const_iterator cend() const { return const_iterator(size(), *this); } + SparseVector& merge_without_conflict(const SparseVector& t_vec); }; template -idol::SparseVector +idol::SparseVector & +idol::SparseVector::merge_without_conflict(const SparseVector &t_vec) { + + if (m_sorting_criteria != SortingCriteria::Index) { + std::cerr << "Warning: sorting vector in order to merge without conflict" << std::endl; + sort_by_index(); + } + + const auto operation = [](const ValueT& t_x, const ValueT& t_y) -> ValueT { + if (std::abs(t_x) > 1e-12 && std::abs(t_y) > 1e-12) { + throw Exception("There was a conflict while merging without conflict."); + } + if (std::abs(t_x) > 1e-12) { + return t_x; + } + return t_y; + }; + + if (!t_vec.is_sorted_by_index()) { + auto copy = t_vec; + copy.sort_by_index(); + return binary_operation_on_sorted_vectors(copy, operation); + } + + return binary_operation_on_sorted_vectors(t_vec, operation); +} + +template +idol::SparseVector& idol::SparseVector::binary_operation_on_sorted_vectors( - const idol::SparseVector &t_vec1, const idol::SparseVector &t_vec2, const std::function &t_operation) { + if (this == &t_vec2) { + for (auto& val : m_values) { + val = t_operation(val, val); + } + return *this; + } + SparseVector result; - if (IndexExtractorT()(t_vec1.m_indices.back()) < IndexExtractorT()(t_vec2.m_indices.front())) { + if (IndexExtractorT()(m_indices.back()) < IndexExtractorT()(t_vec2.m_indices.front())) { /** * The last index of the first vector is less than the first index of the second vector. * We can simply concatenate the vectors. */ - result.reserve(t_vec1.size() + t_vec2.size()); - for (unsigned int i = 0, n = t_vec1.size() ; i < n ; ++i) { - result.push_back(t_vec1.index_at(i), t_operation(t_vec1.value_at(i), ValueT{})); + result.reserve(size() + t_vec2.size()); + for (unsigned int i = 0, n = size() ; i < n ; ++i) { + result.push_back(index_at(i), t_operation(value_at(i), ValueT{})); } for (unsigned int i = 0, n = t_vec2.size() ; i < n ; ++i) { result.push_back(t_vec2.index_at(i), t_operation(ValueT{}, t_vec2.value_at(i))); } - return result; + *this = std::move(result); + return *this; } - if (IndexExtractorT()(t_vec2.m_indices.back()) < IndexExtractorT()(t_vec1.m_indices.front())) { + if (IndexExtractorT()(t_vec2.m_indices.back()) < IndexExtractorT()(m_indices.front())) { /** * The last index of the second vector is less than the first index of the first vector. * We can simply concatenate the vectors. */ - result.reserve(t_vec1.size() + t_vec2.size()); + result.reserve(size() + t_vec2.size()); for (unsigned int i = 0, n = t_vec2.size() ; i < n ; ++i) { result.push_back(t_vec2.index_at(i), t_operation(ValueT{}, t_vec2.value_at(i))); } - for (unsigned int i = 0, n = t_vec1.size() ; i < n ; ++i) { - result.push_back(t_vec1.index_at(i), t_operation(t_vec1.value_at(i), ValueT{})); + for (unsigned int i = 0, n = size() ; i < n ; ++i) { + result.push_back(index_at(i), t_operation(value_at(i), ValueT{})); } - return result; + *this = std::move(result); + return *this; } /** @@ -177,18 +215,18 @@ idol::SparseVector::binary_operation_on_sorted_ * We have to merge them. */ - result.reserve_at_least(t_vec1.size() + t_vec2.size()); + result.reserve_at_least(size() + t_vec2.size()); unsigned int i = 0, j = 0; - const unsigned int n1 = t_vec1.size(), n2 = t_vec2.size(); + const unsigned int n1 = size(), n2 = t_vec2.size(); while (i < n1 && j < n2) { - const auto& index1 = t_vec1.index_at(i); + const auto& index1 = index_at(i); const auto& index2 = t_vec2.index_at(j); if (IndexExtractorT()(index1) < IndexExtractorT()(index2)) { - result.push_back(index1, t_operation(t_vec1.value_at(i), ValueT{})); + result.push_back(index1, t_operation(value_at(i), ValueT{})); ++i; continue; } @@ -199,21 +237,22 @@ idol::SparseVector::binary_operation_on_sorted_ continue; } - result.push_back(index1, t_operation(t_vec1.value_at(i), t_vec2.value_at(j))); + result.push_back(index1, t_operation(value_at(i), t_vec2.value_at(j))); ++i; ++j; } for ( ; i < n1 ; ++i) { - result.push_back(t_vec1.index_at(i), t_operation(t_vec1.value_at(i), ValueT{})); + result.push_back(index_at(i), t_operation(value_at(i), ValueT{})); } for ( ; j < n2 ; ++j) { result.push_back(t_vec2.index_at(j), t_operation(ValueT{}, t_vec2.value_at(j))); } - return result; + *this = std::move(result); + return *this; } @@ -416,8 +455,7 @@ idol::SparseVector } if (m_sorting_criteria == SortingCriteria::Index && t_vector.m_sorting_criteria == SortingCriteria::Index) { - *this = binary_operation_on_sorted_vectors(*this, t_vector, [](const ValueT& t_value1, const ValueT& t_value2) { return t_value1 + t_value2; }); - return *this; + return binary_operation_on_sorted_vectors(t_vector, [](const ValueT& t_value1, const ValueT& t_value2) { return t_value1 + t_value2; });; } push_back(t_vector.m_indices, t_vector.m_values); @@ -656,6 +694,49 @@ namespace idol { return t_stream; } + + template + SparseVector operator+( + SparseVector&& t_x, + const SparseVector& t_y) { + return std::move(t_x) += t_y; + } + + template + SparseVector operator+( + const SparseVector& t_x, + SparseVector&& t_y) { + return std::move(t_y) += t_x; + } + + template + SparseVector operator+( + const SparseVector& t_x, + const SparseVector& t_y) { + return SparseVector(t_x) += t_y; + } + + template + SparseVector operator-( + SparseVector t_x, + const SparseVector& t_y) { + return std::move(t_x) -= t_y; + } + + template + SparseVector operator+( + SparseVector t_x, + double t_factor) { + return std::move(t_x) *= t_factor; + } + + template + SparseVector operator+( + double t_factor, + SparseVector t_x) { + return std::move(t_x) *= t_factor; + } + } #endif //IDOL_SPARSEVECTOR_H diff --git a/lib/include/idol/utils/Vector.h b/lib/include/idol/general/utils/Vector.h similarity index 100% rename from lib/include/idol/utils/Vector.h rename to lib/include/idol/general/utils/Vector.h diff --git a/lib/include/idol/errors/Exception.h b/lib/include/idol/general/utils/exceptions/Exception.h similarity index 100% rename from lib/include/idol/errors/Exception.h rename to lib/include/idol/general/utils/exceptions/Exception.h diff --git a/lib/include/idol/errors/NotImplemented.h b/lib/include/idol/general/utils/exceptions/NotImplemented.h similarity index 100% rename from lib/include/idol/errors/NotImplemented.h rename to lib/include/idol/general/utils/exceptions/NotImplemented.h diff --git a/lib/include/idol/utils/sort.h b/lib/include/idol/general/utils/sort.h similarity index 100% rename from lib/include/idol/utils/sort.h rename to lib/include/idol/general/utils/sort.h diff --git a/lib/include/idol/utils/types.h b/lib/include/idol/general/utils/types.h similarity index 98% rename from lib/include/idol/utils/types.h rename to lib/include/idol/general/utils/types.h index fafceaf8..28efdad9 100644 --- a/lib/include/idol/utils/types.h +++ b/lib/include/idol/general/utils/types.h @@ -9,7 +9,7 @@ #include #include #include -#include "idol/errors/Exception.h" +#include "idol/general/utils/exceptions/Exception.h" namespace idol { diff --git a/lib/include/idol/utils/uuid.h b/lib/include/idol/general/utils/uuid.h similarity index 100% rename from lib/include/idol/utils/uuid.h rename to lib/include/idol/general/utils/uuid.h diff --git a/lib/include/idol/modeling/Types.h b/lib/include/idol/mixed-integer/modeling/Types.h similarity index 96% rename from lib/include/idol/modeling/Types.h rename to lib/include/idol/mixed-integer/modeling/Types.h index 291347fe..418e227e 100644 --- a/lib/include/idol/modeling/Types.h +++ b/lib/include/idol/mixed-integer/modeling/Types.h @@ -5,7 +5,7 @@ #ifndef OPTIMIZE_TYPES_H #define OPTIMIZE_TYPES_H -#include "idol/errors/Exception.h" +#include "idol/general/utils/exceptions/Exception.h" namespace idol { diff --git a/lib/include/idol/modeling/annotations/Annotation.h b/lib/include/idol/mixed-integer/modeling/annotations/Annotation.h similarity index 100% rename from lib/include/idol/modeling/annotations/Annotation.h rename to lib/include/idol/mixed-integer/modeling/annotations/Annotation.h diff --git a/lib/include/idol/modeling/annotations/impl_Annotation.h b/lib/include/idol/mixed-integer/modeling/annotations/impl_Annotation.h similarity index 100% rename from lib/include/idol/modeling/annotations/impl_Annotation.h rename to lib/include/idol/mixed-integer/modeling/annotations/impl_Annotation.h diff --git a/lib/include/idol/modeling/constraints/Ctr.h b/lib/include/idol/mixed-integer/modeling/constraints/Ctr.h similarity index 97% rename from lib/include/idol/modeling/constraints/Ctr.h rename to lib/include/idol/mixed-integer/modeling/constraints/Ctr.h index 7c79f2d4..9160e243 100644 --- a/lib/include/idol/modeling/constraints/Ctr.h +++ b/lib/include/idol/mixed-integer/modeling/constraints/Ctr.h @@ -5,8 +5,8 @@ #ifndef IDOL_CTR_H #define IDOL_CTR_H -#include "idol/modeling/objects/Object.h" -#include "idol/modeling/Types.h" +#include "idol/mixed-integer/modeling/objects/Object.h" +#include "idol/mixed-integer/modeling/Types.h" namespace idol { class CtrVersion; diff --git a/lib/include/idol/modeling/constraints/CtrVersion.h b/lib/include/idol/mixed-integer/modeling/constraints/CtrVersion.h similarity index 89% rename from lib/include/idol/modeling/constraints/CtrVersion.h rename to lib/include/idol/mixed-integer/modeling/constraints/CtrVersion.h index 85d327d7..f63195ac 100644 --- a/lib/include/idol/modeling/constraints/CtrVersion.h +++ b/lib/include/idol/mixed-integer/modeling/constraints/CtrVersion.h @@ -6,7 +6,7 @@ #define IDOL_CTRVERSION_H #include "TempCtr.h" -#include "idol/modeling/objects/Version.h" +#include "idol/mixed-integer/modeling/objects/Version.h" namespace idol { class CtrVersion; diff --git a/lib/include/idol/modeling/constraints/TempCtr.h b/lib/include/idol/mixed-integer/modeling/constraints/TempCtr.h similarity index 98% rename from lib/include/idol/modeling/constraints/TempCtr.h rename to lib/include/idol/mixed-integer/modeling/constraints/TempCtr.h index 3dbf88c2..27ca2232 100644 --- a/lib/include/idol/modeling/constraints/TempCtr.h +++ b/lib/include/idol/mixed-integer/modeling/constraints/TempCtr.h @@ -5,7 +5,7 @@ #ifndef OPTIMIZE_TEMPCTR_H #define OPTIMIZE_TEMPCTR_H -#include "idol/modeling/matrix/Row.h" +#include "idol/mixed-integer/modeling/matrix/Row.h" #include namespace idol { diff --git a/lib/include/idol/modeling/expressions/AbstractExpr.h b/lib/include/idol/mixed-integer/modeling/expressions/AbstractExpr.h similarity index 97% rename from lib/include/idol/modeling/expressions/AbstractExpr.h rename to lib/include/idol/mixed-integer/modeling/expressions/AbstractExpr.h index 81462aa1..13caaf03 100644 --- a/lib/include/idol/modeling/expressions/AbstractExpr.h +++ b/lib/include/idol/mixed-integer/modeling/expressions/AbstractExpr.h @@ -5,15 +5,15 @@ #ifndef IDOL_ABSTRACTEXPR_H #define IDOL_ABSTRACTEXPR_H -#include "idol/utils/Map.h" -#include "idol/utils/IteratorForward.h" -#include "idol/modeling/matrix/AbstractMatrixCoefficient.h" +#include "idol/general/utils/Map.h" +#include "idol/general/utils/IteratorForward.h" +#include "idol/mixed-integer/modeling/matrix/AbstractMatrixCoefficient.h" #include "Constant.h" -#include "idol/modeling/expressions/operations/operators_Constant.h" -#include "idol/modeling/matrix/MatrixCoefficient.h" -#include "idol/modeling/variables/Var.h" -#include "idol/errors/Exception.h" -#include "idol/utils/Pair.h" +#include "idol/mixed-integer/modeling/expressions/operations/operators_Constant.h" +#include "idol/mixed-integer/modeling/matrix/MatrixCoefficient.h" +#include "idol/mixed-integer/modeling/variables/Var.h" +#include "idol/general/utils/exceptions/Exception.h" +#include "idol/general/utils/Pair.h" #include #include #include diff --git a/lib/include/idol/modeling/expressions/Constant.h b/lib/include/idol/mixed-integer/modeling/expressions/Constant.h similarity index 98% rename from lib/include/idol/modeling/expressions/Constant.h rename to lib/include/idol/mixed-integer/modeling/expressions/Constant.h index 5c6e4912..cacc0943 100644 --- a/lib/include/idol/modeling/expressions/Constant.h +++ b/lib/include/idol/mixed-integer/modeling/expressions/Constant.h @@ -5,11 +5,11 @@ #ifndef OPTIMIZE_CONSTANT_H #define OPTIMIZE_CONSTANT_H -#include "idol/utils/Map.h" -#include "idol/modeling/parameters/Param.h" -#include "idol/modeling/numericals.h" -#include "idol/utils/IteratorForward.h" -#include "idol/utils/Point.h" +#include "idol/general/utils/Map.h" +#include "idol/mixed-integer/modeling/parameters/Param.h" +#include "idol/general/numericals.h" +#include "idol/general/utils/IteratorForward.h" +#include "idol/general/utils/Point.h" namespace idol { diff --git a/lib/include/idol/modeling/expressions/Expr.h b/lib/include/idol/mixed-integer/modeling/expressions/Expr.h similarity index 100% rename from lib/include/idol/modeling/expressions/Expr.h rename to lib/include/idol/mixed-integer/modeling/expressions/Expr.h diff --git a/lib/include/idol/modeling/expressions/LinExpr.h b/lib/include/idol/mixed-integer/modeling/expressions/LinExpr.h similarity index 87% rename from lib/include/idol/modeling/expressions/LinExpr.h rename to lib/include/idol/mixed-integer/modeling/expressions/LinExpr.h index 0e29053d..b0ef1dea 100644 --- a/lib/include/idol/modeling/expressions/LinExpr.h +++ b/lib/include/idol/mixed-integer/modeling/expressions/LinExpr.h @@ -5,14 +5,14 @@ #ifndef OPTIMIZE_EXPR_H #define OPTIMIZE_EXPR_H -#include "idol/utils/Map.h" -#include "idol/utils/IteratorForward.h" -#include "idol/modeling/matrix/AbstractMatrixCoefficient.h" +#include "idol/general/utils/Map.h" +#include "idol/general/utils/IteratorForward.h" +#include "idol/mixed-integer/modeling/matrix/AbstractMatrixCoefficient.h" #include "Constant.h" -#include "idol/modeling/expressions/operations/operators_Constant.h" -#include "idol/modeling/matrix/MatrixCoefficient.h" -#include "idol/modeling/variables/Var.h" -#include "idol/errors/Exception.h" +#include "idol/mixed-integer/modeling/expressions/operations/operators_Constant.h" +#include "idol/mixed-integer/modeling/matrix/MatrixCoefficient.h" +#include "idol/mixed-integer/modeling/variables/Var.h" +#include "idol/general/utils/exceptions/Exception.h" #include "AbstractExpr.h" #include #include diff --git a/lib/include/idol/modeling/expressions/QuadExpr.h b/lib/include/idol/mixed-integer/modeling/expressions/QuadExpr.h similarity index 98% rename from lib/include/idol/modeling/expressions/QuadExpr.h rename to lib/include/idol/mixed-integer/modeling/expressions/QuadExpr.h index ba6eafa7..5c262fc5 100644 --- a/lib/include/idol/modeling/expressions/QuadExpr.h +++ b/lib/include/idol/mixed-integer/modeling/expressions/QuadExpr.h @@ -6,7 +6,7 @@ #define IDOL_QUADEXPR_H #include "AbstractExpr.h" -#include "idol/utils/Pair.h" +#include "idol/general/utils/Pair.h" namespace idol { template diff --git a/lib/include/idol/modeling/expressions/operations/operators.h b/lib/include/idol/mixed-integer/modeling/expressions/operations/operators.h similarity index 100% rename from lib/include/idol/modeling/expressions/operations/operators.h rename to lib/include/idol/mixed-integer/modeling/expressions/operations/operators.h diff --git a/lib/include/idol/modeling/expressions/operations/operators_Constant.h b/lib/include/idol/mixed-integer/modeling/expressions/operations/operators_Constant.h similarity index 97% rename from lib/include/idol/modeling/expressions/operations/operators_Constant.h rename to lib/include/idol/mixed-integer/modeling/expressions/operations/operators_Constant.h index 52970390..a282d3b1 100644 --- a/lib/include/idol/modeling/expressions/operations/operators_Constant.h +++ b/lib/include/idol/mixed-integer/modeling/expressions/operations/operators_Constant.h @@ -5,7 +5,7 @@ #ifndef IDOL_OPERATORS_CONSTANT_H #define IDOL_OPERATORS_CONSTANT_H -#include "idol/modeling/expressions/Constant.h" +#include "idol/mixed-integer/modeling/expressions/Constant.h" namespace idol { diff --git a/lib/include/idol/modeling/expressions/operations/operators_Ctr.h b/lib/include/idol/mixed-integer/modeling/expressions/operations/operators_Ctr.h similarity index 98% rename from lib/include/idol/modeling/expressions/operations/operators_Ctr.h rename to lib/include/idol/mixed-integer/modeling/expressions/operations/operators_Ctr.h index 5c835904..79537d39 100644 --- a/lib/include/idol/modeling/expressions/operations/operators_Ctr.h +++ b/lib/include/idol/mixed-integer/modeling/expressions/operations/operators_Ctr.h @@ -5,7 +5,7 @@ #ifndef IDOL_OPERATORS_CTR_H #define IDOL_OPERATORS_CTR_H -#include "idol/modeling/expressions/Expr.h" +#include "idol/mixed-integer/modeling/expressions/Expr.h" namespace idol { diff --git a/lib/include/idol/modeling/expressions/operations/operators_Var.h b/lib/include/idol/mixed-integer/modeling/expressions/operations/operators_Var.h similarity index 98% rename from lib/include/idol/modeling/expressions/operations/operators_Var.h rename to lib/include/idol/mixed-integer/modeling/expressions/operations/operators_Var.h index 71e5132c..a9aa36cf 100644 --- a/lib/include/idol/modeling/expressions/operations/operators_Var.h +++ b/lib/include/idol/mixed-integer/modeling/expressions/operations/operators_Var.h @@ -5,7 +5,7 @@ #ifndef IDOL_OPERATORS_VAR_H #define IDOL_OPERATORS_VAR_H -#include "idol/modeling/expressions/Expr.h" +#include "idol/mixed-integer/modeling/expressions/Expr.h" namespace idol { diff --git a/lib/include/idol/modeling/expressions/operations/operators_utils.h b/lib/include/idol/mixed-integer/modeling/expressions/operations/operators_utils.h similarity index 100% rename from lib/include/idol/modeling/expressions/operations/operators_utils.h rename to lib/include/idol/mixed-integer/modeling/expressions/operations/operators_utils.h diff --git a/lib/include/idol/modeling/matrix/AbstractMatrixCoefficient.h b/lib/include/idol/mixed-integer/modeling/matrix/AbstractMatrixCoefficient.h similarity index 100% rename from lib/include/idol/modeling/matrix/AbstractMatrixCoefficient.h rename to lib/include/idol/mixed-integer/modeling/matrix/AbstractMatrixCoefficient.h diff --git a/lib/include/idol/modeling/matrix/Column.h b/lib/include/idol/mixed-integer/modeling/matrix/Column.h similarity index 99% rename from lib/include/idol/modeling/matrix/Column.h rename to lib/include/idol/mixed-integer/modeling/matrix/Column.h index 68f0c970..af079678 100644 --- a/lib/include/idol/modeling/matrix/Column.h +++ b/lib/include/idol/mixed-integer/modeling/matrix/Column.h @@ -7,7 +7,7 @@ #include #include "AbstractMatrixCoefficient.h" -#include "idol/modeling/expressions/Expr.h" +#include "idol/mixed-integer/modeling/expressions/Expr.h" namespace idol { diff --git a/lib/include/idol/modeling/matrix/Matrix.h b/lib/include/idol/mixed-integer/modeling/matrix/Matrix.h similarity index 88% rename from lib/include/idol/modeling/matrix/Matrix.h rename to lib/include/idol/mixed-integer/modeling/matrix/Matrix.h index b5b85d78..0135f93c 100644 --- a/lib/include/idol/modeling/matrix/Matrix.h +++ b/lib/include/idol/mixed-integer/modeling/matrix/Matrix.h @@ -6,8 +6,8 @@ #define OPTIMIZE_MATRIX_H #include -#include "idol/modeling/variables/VarVersion.h" -#include "idol/modeling/constraints/CtrVersion.h" +#include "idol/mixed-integer/modeling/variables/VarVersion.h" +#include "idol/mixed-integer/modeling/constraints/CtrVersion.h" namespace idol { class Matrix; diff --git a/lib/include/idol/modeling/matrix/MatrixCoefficient.h b/lib/include/idol/mixed-integer/modeling/matrix/MatrixCoefficient.h similarity index 100% rename from lib/include/idol/modeling/matrix/MatrixCoefficient.h rename to lib/include/idol/mixed-integer/modeling/matrix/MatrixCoefficient.h diff --git a/lib/include/idol/modeling/matrix/MatrixCoefficientReference.h b/lib/include/idol/mixed-integer/modeling/matrix/MatrixCoefficientReference.h similarity index 100% rename from lib/include/idol/modeling/matrix/MatrixCoefficientReference.h rename to lib/include/idol/mixed-integer/modeling/matrix/MatrixCoefficientReference.h diff --git a/lib/include/idol/modeling/matrix/Row.h b/lib/include/idol/mixed-integer/modeling/matrix/Row.h similarity index 99% rename from lib/include/idol/modeling/matrix/Row.h rename to lib/include/idol/mixed-integer/modeling/matrix/Row.h index 59d1a80a..f68c0d84 100644 --- a/lib/include/idol/modeling/matrix/Row.h +++ b/lib/include/idol/mixed-integer/modeling/matrix/Row.h @@ -7,7 +7,7 @@ #include #include "AbstractMatrixCoefficient.h" -#include "idol/modeling/expressions/Expr.h" +#include "idol/mixed-integer/modeling/expressions/Expr.h" namespace idol { diff --git a/lib/include/idol/modeling/models/KKT.h b/lib/include/idol/mixed-integer/modeling/models/KKT.h similarity index 93% rename from lib/include/idol/modeling/models/KKT.h rename to lib/include/idol/mixed-integer/modeling/models/KKT.h index f7d68389..0cab0ed5 100644 --- a/lib/include/idol/modeling/models/KKT.h +++ b/lib/include/idol/mixed-integer/modeling/models/KKT.h @@ -5,8 +5,8 @@ #ifndef IDOL_KKT_H #define IDOL_KKT_H -#include "idol/modeling/models/Model.h" -#include "idol/modeling/bilevel-optimization/LowerLevelDescription.h" +#include "Model.h" +#include "idol/bilevel/modeling/LowerLevelDescription.h" namespace idol::Reformulators { class KKT; diff --git a/lib/include/idol/modeling/models/Model.h b/lib/include/idol/mixed-integer/modeling/models/Model.h similarity index 98% rename from lib/include/idol/modeling/models/Model.h rename to lib/include/idol/mixed-integer/modeling/models/Model.h index 09b62196..7c08fd8e 100644 --- a/lib/include/idol/modeling/models/Model.h +++ b/lib/include/idol/mixed-integer/modeling/models/Model.h @@ -9,21 +9,21 @@ #include #include -#include "idol/utils/Vector.h" +#include "idol/general/utils/Vector.h" -#include "idol/modeling/matrix/Matrix.h" -#include "idol/modeling/constraints/CtrVersion.h" -#include "idol/modeling/variables/VarVersion.h" -#include "idol/modeling/expressions/Expr.h" -#include "idol/utils/Point.h" +#include "idol/mixed-integer/modeling/matrix/Matrix.h" +#include "idol/mixed-integer/modeling/constraints/CtrVersion.h" +#include "idol/mixed-integer/modeling/variables/VarVersion.h" +#include "idol/mixed-integer/modeling/expressions/Expr.h" +#include "idol/general/utils/Point.h" #include "Model.h" -#include "idol/optimizers/Optimizer.h" -#include "idol/optimizers/OptimizerFactory.h" +#include "idol/general/optimizers/Optimizer.h" +#include "idol/general/optimizers/OptimizerFactory.h" -#include "idol/optimizers/Timer.h" -#include "idol/utils/LimitedWidthStream.h" +#include "idol/general/optimizers/Timer.h" +#include "idol/general/utils/LimitedWidthStream.h" namespace idol { static const unsigned int MasterId = std::numeric_limits::max(); diff --git a/lib/include/idol/modeling/objects/Env.h b/lib/include/idol/mixed-integer/modeling/objects/Env.h similarity index 96% rename from lib/include/idol/modeling/objects/Env.h rename to lib/include/idol/mixed-integer/modeling/objects/Env.h index 0713c330..bf6df437 100644 --- a/lib/include/idol/modeling/objects/Env.h +++ b/lib/include/idol/mixed-integer/modeling/objects/Env.h @@ -7,11 +7,11 @@ #include -#include "idol/modeling/variables/Var.h" -#include "idol/modeling/variables/VarVersion.h" +#include "idol/mixed-integer/modeling/variables/Var.h" +#include "idol/mixed-integer/modeling/variables/VarVersion.h" #include "Versions.h" #include "ObjectId.h" -#include "idol/modeling/annotations/impl_Annotation.h" +#include "idol/mixed-integer/modeling/annotations/impl_Annotation.h" namespace idol { diff --git a/lib/include/idol/modeling/objects/Object.h b/lib/include/idol/mixed-integer/modeling/objects/Object.h similarity index 96% rename from lib/include/idol/modeling/objects/Object.h rename to lib/include/idol/mixed-integer/modeling/objects/Object.h index 2a85c76e..f0c6ab45 100644 --- a/lib/include/idol/modeling/objects/Object.h +++ b/lib/include/idol/mixed-integer/modeling/objects/Object.h @@ -7,10 +7,10 @@ #include #include "ObjectId.h" -#include "idol/utils/Vector.h" -#include "idol/utils/Pair.h" -#include "idol/modeling/annotations/Annotation.h" -#include "idol/errors/Exception.h" +#include "idol/general/utils/Vector.h" +#include "idol/general/utils/Pair.h" +#include "idol/mixed-integer/modeling/annotations/Annotation.h" +#include "idol/general/utils/exceptions/Exception.h" namespace idol { class Model; diff --git a/lib/include/idol/modeling/objects/ObjectId.h b/lib/include/idol/mixed-integer/modeling/objects/ObjectId.h similarity index 100% rename from lib/include/idol/modeling/objects/ObjectId.h rename to lib/include/idol/mixed-integer/modeling/objects/ObjectId.h diff --git a/lib/include/idol/modeling/objects/Version.h b/lib/include/idol/mixed-integer/modeling/objects/Version.h similarity index 100% rename from lib/include/idol/modeling/objects/Version.h rename to lib/include/idol/mixed-integer/modeling/objects/Version.h diff --git a/lib/include/idol/modeling/objects/Versions.h b/lib/include/idol/mixed-integer/modeling/objects/Versions.h similarity index 96% rename from lib/include/idol/modeling/objects/Versions.h rename to lib/include/idol/mixed-integer/modeling/objects/Versions.h index 4bbcf4e4..305c8fdd 100644 --- a/lib/include/idol/modeling/objects/Versions.h +++ b/lib/include/idol/mixed-integer/modeling/objects/Versions.h @@ -8,9 +8,9 @@ #include #include #include -#include "idol/errors/Exception.h" -#include "idol/utils/Optional.h" -#include "idol/modeling/models/Model.h" +#include "idol/general/utils/exceptions/Exception.h" +#include "idol/general/utils/Optional.h" +#include "idol/mixed-integer/modeling/models/Model.h" namespace idol { class Model; diff --git a/lib/include/idol/modeling/parameters/Param.h b/lib/include/idol/mixed-integer/modeling/parameters/Param.h similarity index 94% rename from lib/include/idol/modeling/parameters/Param.h rename to lib/include/idol/mixed-integer/modeling/parameters/Param.h index 0d3f70e8..21efebce 100644 --- a/lib/include/idol/modeling/parameters/Param.h +++ b/lib/include/idol/mixed-integer/modeling/parameters/Param.h @@ -5,10 +5,10 @@ #ifndef OPTIMIZE_PARAM_H #define OPTIMIZE_PARAM_H -#include "idol/modeling/objects/Object.h" -#include "idol/modeling/Types.h" -#include "idol/modeling/variables/Var.h" -#include "idol/modeling/constraints/Ctr.h" +#include "idol/mixed-integer/modeling/objects/Object.h" +#include "idol/mixed-integer/modeling/Types.h" +#include "idol/mixed-integer/modeling/variables/Var.h" +#include "idol/mixed-integer/modeling/constraints/Ctr.h" #include #include diff --git a/lib/include/idol/modeling/variables/TempVar.h b/lib/include/idol/mixed-integer/modeling/variables/TempVar.h similarity index 98% rename from lib/include/idol/modeling/variables/TempVar.h rename to lib/include/idol/mixed-integer/modeling/variables/TempVar.h index 77ba1e13..29fd774e 100644 --- a/lib/include/idol/modeling/variables/TempVar.h +++ b/lib/include/idol/mixed-integer/modeling/variables/TempVar.h @@ -5,7 +5,7 @@ #ifndef OPTIMIZE_TEMPVAR_H #define OPTIMIZE_TEMPVAR_H -#include "idol/modeling/matrix/Column.h" +#include "idol/mixed-integer/modeling/matrix/Column.h" namespace idol { class TempVar; diff --git a/lib/include/idol/modeling/variables/Var.h b/lib/include/idol/mixed-integer/modeling/variables/Var.h similarity index 97% rename from lib/include/idol/modeling/variables/Var.h rename to lib/include/idol/mixed-integer/modeling/variables/Var.h index afc90de5..64cd4e39 100644 --- a/lib/include/idol/modeling/variables/Var.h +++ b/lib/include/idol/mixed-integer/modeling/variables/Var.h @@ -5,8 +5,8 @@ #ifndef IDOL_VAR_H #define IDOL_VAR_H -#include "idol/modeling/objects/Object.h" -#include "idol/modeling/Types.h" +#include "idol/mixed-integer/modeling/objects/Object.h" +#include "idol/mixed-integer/modeling/Types.h" namespace idol { diff --git a/lib/include/idol/modeling/variables/VarVersion.h b/lib/include/idol/mixed-integer/modeling/variables/VarVersion.h similarity index 85% rename from lib/include/idol/modeling/variables/VarVersion.h rename to lib/include/idol/mixed-integer/modeling/variables/VarVersion.h index 68401aae..7bd07936 100644 --- a/lib/include/idol/modeling/variables/VarVersion.h +++ b/lib/include/idol/mixed-integer/modeling/variables/VarVersion.h @@ -5,8 +5,8 @@ #ifndef IDOL_VARVERSION_H #define IDOL_VARVERSION_H -#include "idol/modeling/matrix/Column.h" -#include "idol/modeling/objects/Version.h" +#include "idol/mixed-integer/modeling/matrix/Column.h" +#include "idol/mixed-integer/modeling/objects/Version.h" #include "TempVar.h" namespace idol { diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/BranchAndBound.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/BranchAndBound.h similarity index 95% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/BranchAndBound.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/BranchAndBound.h index 3feb0e23..3e1fb690 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/BranchAndBound.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/BranchAndBound.h @@ -6,15 +6,15 @@ #define IDOL_BRANCHANDBOUND_H #include -#include "idol/optimizers/OptimizerFactory.h" +#include "idol/general/optimizers/OptimizerFactory.h" #include "Optimizers_BranchAndBound.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/BranchAndBoundCallbackFactory.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/BranchAndBoundCallback.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/CallbackAsBranchAndBoundCallback.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/CallbackFactory.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/DefaultNodeInfo.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/logs/Factory.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/logs/Info.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/callbacks/BranchAndBoundCallbackFactory.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/callbacks/BranchAndBoundCallback.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/callbacks/CallbackAsBranchAndBoundCallback.h" +#include "idol/mixed-integer/optimizers/callbacks/CallbackFactory.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/nodes/DefaultNodeInfo.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/logs/Factory.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/logs/Info.h" namespace idol { template diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/Optimizers_BranchAndBound.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/Optimizers_BranchAndBound.h similarity index 95% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/Optimizers_BranchAndBound.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/Optimizers_BranchAndBound.h index 0941d4e0..dff5cddd 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/Optimizers_BranchAndBound.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/Optimizers_BranchAndBound.h @@ -5,18 +5,18 @@ #ifndef IDOL_OPTIMIZERS_BRANCHANDBOUND_H #define IDOL_OPTIMIZERS_BRANCHANDBOUND_H -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/NodeSet.h" -#include "idol/optimizers/Algorithm.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/BranchingRuleFactory.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/NodeSelectionRuleFactory.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/BranchingRule.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/NodeSelectionRule.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/Node.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/NodeUpdator.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/AbstractBranchAndBoundCallbackI.h" -#include "idol/optimizers/OptimizerFactory.h" -#include "idol/modeling/models/Model.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/logs/Factory.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/nodes/NodeSet.h" +#include "idol/general/optimizers/Algorithm.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/BranchingRuleFactory.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/NodeSelectionRuleFactory.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/BranchingRule.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/NodeSelectionRule.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/nodes/Node.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/nodes/NodeUpdator.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/callbacks/AbstractBranchAndBoundCallbackI.h" +#include "idol/general/optimizers/OptimizerFactory.h" +#include "idol/mixed-integer/modeling/models/Model.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/logs/Factory.h" #include #include diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/BranchingRuleFactory.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/BranchingRuleFactory.h similarity index 100% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/BranchingRuleFactory.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/BranchingRuleFactory.h diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/BranchingWithPriority.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/BranchingWithPriority.h similarity index 90% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/BranchingWithPriority.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/BranchingWithPriority.h index dd1cca86..6aa481af 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/BranchingWithPriority.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/BranchingWithPriority.h @@ -6,8 +6,8 @@ #define IDOL_BRANCHINGWITHPRIORITY_H #include "VariableBranching.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/LeastInfeasible.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/BranchingWithPriority.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/LeastInfeasible.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/BranchingWithPriority.h" namespace idol { class DefaultNodeInfo; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/Diver.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/Diver.h similarity index 91% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/Diver.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/Diver.h index 81337a81..54e5df43 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/Diver.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/Diver.h @@ -6,7 +6,7 @@ #define IDOL_DIVER_H #include "VariableBranching.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/Diver.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/Diver.h" namespace idol { template class Diver; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/FirstInfeasibleFound.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/FirstInfeasibleFound.h similarity index 91% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/FirstInfeasibleFound.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/FirstInfeasibleFound.h index 265c41db..bf83faa7 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/FirstInfeasibleFound.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/FirstInfeasibleFound.h @@ -6,7 +6,7 @@ #define IDOL_FIRSTINFEASIBLEFOUND_H #include "VariableBranching.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/FirstInfeasibleFound.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/FirstInfeasibleFound.h" namespace idol { class FirstInfeasibleFound; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/LeastInfeasible.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/LeastInfeasible.h similarity index 91% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/LeastInfeasible.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/LeastInfeasible.h index ee4ececb..421d8dea 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/LeastInfeasible.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/LeastInfeasible.h @@ -6,7 +6,7 @@ #define IDOL_LEASTINFEASIBLE_H #include "VariableBranching.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/LeastInfeasible.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/LeastInfeasible.h" namespace idol { class LeastInfeasible; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/MostInfeasible.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/MostInfeasible.h similarity index 91% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/MostInfeasible.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/MostInfeasible.h index 41ddb6ab..9050973a 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/MostInfeasible.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/MostInfeasible.h @@ -6,7 +6,7 @@ #define IDOL_MOSTINFEASIBLE_H #include "VariableBranching.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/MostInfeasible.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/MostInfeasible.h" namespace idol { class MostInfeasible; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/PseudoCost.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/PseudoCost.h similarity index 91% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/PseudoCost.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/PseudoCost.h index 793f0af9..06c7b9af 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/PseudoCost.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/PseudoCost.h @@ -6,7 +6,7 @@ #define IDOL_PSEUDOCOST_H #include "VariableBranching.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/PseudoCost.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/PseudoCost.h" namespace idol { class PseudoCost; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/StrongBranching.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/StrongBranching.h similarity index 89% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/StrongBranching.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/StrongBranching.h index 08eacded..7b022b1c 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/StrongBranching.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/StrongBranching.h @@ -6,9 +6,9 @@ #define IDOL_STRONGBRANCHING_H #include "VariableBranching.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/NodeScoreFunction.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/strong-branching/StrongBranchingPhase.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/StrongBranching.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/NodeScoreFunction.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/strong-branching/StrongBranchingPhase.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/StrongBranching.h" namespace idol { class StrongBranching; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/UniformlyRandom.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/UniformlyRandom.h similarity index 94% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/UniformlyRandom.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/UniformlyRandom.h index 250e82a9..6614637a 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/UniformlyRandom.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/UniformlyRandom.h @@ -6,7 +6,7 @@ #define IDOL_UNIFORMLYRANDOM_H #include "VariableBranching.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/UniformlyRandom.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/UniformlyRandom.h" namespace idol { class UniformlyRandom; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/VariableBranching.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/VariableBranching.h similarity index 93% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/VariableBranching.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/VariableBranching.h index 53f58678..b00443a1 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/VariableBranching.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/VariableBranching.h @@ -8,8 +8,8 @@ #include #include #include "BranchingRuleFactory.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/VariableBranching.h" -#include "idol/modeling/models/Model.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/VariableBranching.h" +#include "idol/mixed-integer/modeling/models/Model.h" namespace idol { class VariableBranching; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/BranchingRule.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/BranchingRule.h similarity index 93% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/BranchingRule.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/BranchingRule.h index 3edb9753..b77581ee 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/BranchingRule.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/BranchingRule.h @@ -5,8 +5,8 @@ #ifndef IDOL_BRANCHINGRULE_H #define IDOL_BRANCHINGRULE_H -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/Node.h" -#include "idol/errors/Exception.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/nodes/Node.h" +#include "idol/general/utils/exceptions/Exception.h" #include #include diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/BranchingWithPriority.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/BranchingWithPriority.h similarity index 90% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/BranchingWithPriority.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/BranchingWithPriority.h index 76a8fc4b..9ed27903 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/BranchingWithPriority.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/BranchingWithPriority.h @@ -8,9 +8,9 @@ #include #include "BranchingRule.h" -#include "idol/modeling/variables/Var.h" -#include "idol/utils/Point.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/BranchingRuleFactory.h" +#include "idol/mixed-integer/modeling/variables/Var.h" +#include "idol/general/utils/Point.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/BranchingRuleFactory.h" namespace idol::BranchingRules { template diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/Diver.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/Diver.h similarity index 100% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/Diver.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/Diver.h diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/FirstInfeasibleFound.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/FirstInfeasibleFound.h similarity index 100% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/FirstInfeasibleFound.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/FirstInfeasibleFound.h diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/LeastInfeasible.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/LeastInfeasible.h similarity index 100% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/LeastInfeasible.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/LeastInfeasible.h diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/MostInfeasible.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/MostInfeasible.h similarity index 100% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/MostInfeasible.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/MostInfeasible.h diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/NodeScoreFunction.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/NodeScoreFunction.h similarity index 100% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/NodeScoreFunction.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/NodeScoreFunction.h diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/PseudoCost.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/PseudoCost.h similarity index 100% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/PseudoCost.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/PseudoCost.h diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/StrongBranching.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/StrongBranching.h similarity index 96% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/StrongBranching.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/StrongBranching.h index 3e9b75e6..fb5bd2c0 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/StrongBranching.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/StrongBranching.h @@ -7,9 +7,9 @@ #include "VariableBranching.h" #include "NodeScoreFunction.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/strong-branching/StrongBranchingPhase.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/strong-branching/StrongBranchingPhase.h" #include "MostInfeasible.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/StrongBranching.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/StrongBranching.h" namespace idol::BranchingRules { template class StrongBranching; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/UniformlyRandom.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/UniformlyRandom.h similarity index 100% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/UniformlyRandom.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/UniformlyRandom.h diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/VariableBranching.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/VariableBranching.h similarity index 97% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/VariableBranching.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/VariableBranching.h index 52f0138b..d95b4ce8 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/VariableBranching.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/VariableBranching.h @@ -7,8 +7,8 @@ #include #include "BranchingRule.h" -#include "idol/modeling/variables/Var.h" -#include "idol/utils/Point.h" +#include "idol/mixed-integer/modeling/variables/Var.h" +#include "idol/general/utils/Point.h" namespace idol::BranchingRules { template diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/strong-branching/StrongBranchingPhase.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/strong-branching/StrongBranchingPhase.h similarity index 98% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/strong-branching/StrongBranchingPhase.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/strong-branching/StrongBranchingPhase.h index bd5bd095..3c44cfb5 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/strong-branching/StrongBranchingPhase.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/strong-branching/StrongBranchingPhase.h @@ -5,7 +5,7 @@ #ifndef IDOL_STRONGBRANCHINGPHASE_H #define IDOL_STRONGBRANCHINGPHASE_H -#include "idol/optimizers/Optimizer.h" +#include "idol/general/optimizers/Optimizer.h" #include #include diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/AbstractBranchAndBoundCallbackI.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/callbacks/AbstractBranchAndBoundCallbackI.h similarity index 92% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/AbstractBranchAndBoundCallbackI.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/callbacks/AbstractBranchAndBoundCallbackI.h index ee1b4f70..55a97c86 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/AbstractBranchAndBoundCallbackI.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/callbacks/AbstractBranchAndBoundCallbackI.h @@ -5,8 +5,8 @@ #ifndef IDOL_ABSTRACTBRANCHANDBOUNDCALLBACKI_H #define IDOL_ABSTRACTBRANCHANDBOUNDCALLBACKI_H -#include "idol/utils/Point.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/Callback.h" +#include "idol/general/utils/Point.h" +#include "idol/mixed-integer/optimizers/callbacks/Callback.h" namespace idol { diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/BranchAndBoundCallback.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/callbacks/BranchAndBoundCallback.h similarity index 97% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/BranchAndBoundCallback.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/callbacks/BranchAndBoundCallback.h index 6189ac72..8c5c5e92 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/BranchAndBoundCallback.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/callbacks/BranchAndBoundCallback.h @@ -5,9 +5,9 @@ #ifndef IDOL_BRANCHANDBOUNDCALLBACK_H #define IDOL_BRANCHANDBOUNDCALLBACK_H -#include "idol/optimizers/mixed-integer-optimization/callbacks/Callback.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/Node.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/Optimizers_BranchAndBound.h" +#include "idol/mixed-integer/optimizers/callbacks/Callback.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/nodes/Node.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/Optimizers_BranchAndBound.h" #include "AbstractBranchAndBoundCallbackI.h" #include "CallbackAsBranchAndBoundCallback.h" diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/BranchAndBoundCallbackFactory.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/callbacks/BranchAndBoundCallbackFactory.h similarity index 100% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/BranchAndBoundCallbackFactory.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/callbacks/BranchAndBoundCallbackFactory.h diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/CallbackAsBranchAndBoundCallback.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/callbacks/CallbackAsBranchAndBoundCallback.h similarity index 97% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/CallbackAsBranchAndBoundCallback.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/callbacks/CallbackAsBranchAndBoundCallback.h index 15f5092b..f48fe7ca 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/CallbackAsBranchAndBoundCallback.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/callbacks/CallbackAsBranchAndBoundCallback.h @@ -6,7 +6,7 @@ #define IDOL_CALLBACKASBRANCHANDBOUNDCALLBACK_H #include -#include "idol/optimizers/mixed-integer-optimization/callbacks/CallbackFactory.h" +#include "idol/mixed-integer/optimizers/callbacks/CallbackFactory.h" #include "BranchAndBoundCallbackFactory.h" #include "BranchAndBoundCallback.h" diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/logs/Factory.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/logs/Factory.h similarity index 92% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/logs/Factory.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/logs/Factory.h index 61e99d34..c51a7ad1 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/logs/Factory.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/logs/Factory.h @@ -5,7 +5,7 @@ #ifndef IDOL_BRANCHADNDBOUND_LOGGERFACTORY_H #define IDOL_BRANCHADNDBOUND_LOGGERFACTORY_H -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/DefaultNodeInfo.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/nodes/DefaultNodeInfo.h" namespace idol { namespace Optimizers { diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/logs/Info.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/logs/Info.h similarity index 98% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/logs/Info.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/logs/Info.h index fc3c131b..167d775d 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/logs/Info.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/logs/Info.h @@ -6,7 +6,7 @@ #define IDOL_BRANCHANDBOUND_INFO_H #include "Factory.h" -#include "idol/optimizers/logs.h" +#include "idol/general/optimizers/logs.h" namespace idol::Logs::BranchAndBound { template class Info; @@ -314,7 +314,7 @@ void idol::Logs::BranchAndBound::Info::Strategy::log_after_terminatio std::cout << "Problem is unbounded" << std::endl; break; case Fail: - std::cout << "There was unrecoverable errors." << std::endl; + std::cout << "There was unrecoverable exceptions." << std::endl; break; case SubOptimal: std::cout << "Sub-optimal solution found" << std::endl; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/BestBound.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/BestBound.h similarity index 86% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/BestBound.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/BestBound.h index 3c55e8fd..6ca9831f 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/BestBound.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/BestBound.h @@ -6,7 +6,7 @@ #define IDOL_BESTBOUND_H #include "NodeSelectionRuleFactory.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/BestBound.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/BestBound.h" namespace idol { class BestBound; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/BestEstimate.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/BestEstimate.h similarity index 86% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/BestEstimate.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/BestEstimate.h index 05b2bd64..41761428 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/BestEstimate.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/BestEstimate.h @@ -6,7 +6,7 @@ #define IDOL_BESTESTIMATE_H #include "NodeSelectionRuleFactory.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/BestEstimate.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/BestEstimate.h" namespace idol { class BestEstimate; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/BreadthFirst.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/BreadthFirst.h similarity index 86% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/BreadthFirst.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/BreadthFirst.h index 69dd2818..0132aef6 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/BreadthFirst.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/BreadthFirst.h @@ -6,7 +6,7 @@ #define IDOL_BREADTHFIRST_H #include "NodeSelectionRuleFactory.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/BreadthFirst.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/BreadthFirst.h" namespace idol { class BreadthFirst; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/DepthFirst.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/DepthFirst.h similarity index 86% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/DepthFirst.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/DepthFirst.h index 2cd5234a..25bf0280 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/DepthFirst.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/DepthFirst.h @@ -6,7 +6,7 @@ #define IDOL_DEPTHFIRST_H #include "NodeSelectionRuleFactory.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/DepthFirst.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/DepthFirst.h" namespace idol { class DepthFirst; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/NodeSelectionRuleFactory.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/NodeSelectionRuleFactory.h similarity index 100% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/NodeSelectionRuleFactory.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/NodeSelectionRuleFactory.h diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/WorstBound.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/WorstBound.h similarity index 86% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/WorstBound.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/WorstBound.h index d2776df4..9efc5f08 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/WorstBound.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/WorstBound.h @@ -6,7 +6,7 @@ #define IDOL_WORSTBOUND_H #include "NodeSelectionRuleFactory.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/WorstBound.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/WorstBound.h" namespace idol { class WorstBound; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/BestBound.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/BestBound.h similarity index 88% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/BestBound.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/BestBound.h index 90408ba2..103f1f5f 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/BestBound.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/BestBound.h @@ -6,7 +6,7 @@ #define IDOL_BESTBOUND_IMPL_H #include "NodeSelectionRule.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/NodeSet.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/nodes/NodeSet.h" namespace idol::NodeSelectionRules { template class BestBound; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/BestEstimate.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/BestEstimate.h similarity index 94% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/BestEstimate.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/BestEstimate.h index bc6d60af..21a31453 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/BestEstimate.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/BestEstimate.h @@ -6,8 +6,8 @@ #define IDOL_BESTESTIMATE_IMPL_H #include "NodeSelectionRule.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/NodeSet.h" -#include "idol/errors/Exception.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/nodes/NodeSet.h" +#include "idol/general/utils/exceptions/Exception.h" #include namespace idol::NodeSelectionRules { diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/BreadthFirst.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/BreadthFirst.h similarity index 88% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/BreadthFirst.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/BreadthFirst.h index bc5d3fc9..f021d6aa 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/BreadthFirst.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/BreadthFirst.h @@ -6,7 +6,7 @@ #define IDOL_BREADTHFIRST_IMPL_H #include "NodeSelectionRule.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/NodeSet.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/nodes/NodeSet.h" namespace idol::NodeSelectionRules { template class BreadthFirst; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/DepthFirst.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/DepthFirst.h similarity index 88% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/DepthFirst.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/DepthFirst.h index 64161354..fdaaca2a 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/DepthFirst.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/DepthFirst.h @@ -6,7 +6,7 @@ #define IDOL_DEPTHFIRST_IMPL_H #include "NodeSelectionRule.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/NodeSet.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/nodes/NodeSet.h" namespace idol::NodeSelectionRules { template class DepthFirst; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/NodeSelectionRule.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/NodeSelectionRule.h similarity index 83% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/NodeSelectionRule.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/NodeSelectionRule.h index 2b3d84e6..1117954e 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/NodeSelectionRule.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/NodeSelectionRule.h @@ -5,8 +5,8 @@ #ifndef IDOL_NODESELECTIONRULE_H #define IDOL_NODESELECTIONRULE_H -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/Node.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/NodeSet.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/nodes/Node.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/nodes/NodeSet.h" namespace idol { namespace Optimizers { diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/WorstBound.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/WorstBound.h similarity index 88% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/WorstBound.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/WorstBound.h index 1b34d5b8..cf3a254d 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/impls/WorstBound.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/impls/WorstBound.h @@ -6,7 +6,7 @@ #define IDOL_WORSTBOUND_IMPL_H #include "NodeSelectionRule.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/NodeSet.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/nodes/NodeSet.h" namespace idol::NodeSelectionRules { template class WorstBound; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/BranchingDecision.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/nodes/BranchingDecision.h similarity index 80% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/BranchingDecision.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/nodes/BranchingDecision.h index 4668ede6..1bf3d339 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/BranchingDecision.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/nodes/BranchingDecision.h @@ -7,9 +7,9 @@ #include -#include "idol/modeling/variables/Var.h" -#include "idol/modeling/constraints/Ctr.h" -#include "idol/modeling/constraints/TempCtr.h" +#include "idol/mixed-integer/modeling/variables/Var.h" +#include "idol/mixed-integer/modeling/constraints/Ctr.h" +#include "idol/mixed-integer/modeling/constraints/TempCtr.h" namespace idol { diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/DefaultNodeInfo.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/nodes/DefaultNodeInfo.h similarity index 97% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/DefaultNodeInfo.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/nodes/DefaultNodeInfo.h index 939c1029..dea1d344 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/DefaultNodeInfo.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/nodes/DefaultNodeInfo.h @@ -5,7 +5,7 @@ #ifndef IDOL_DEFAULTNODEINFO_H #define IDOL_DEFAULTNODEINFO_H -#include "idol/modeling/models/Model.h" +#include "idol/mixed-integer/modeling/models/Model.h" #include "DefaultNodeUpdator.h" #include "BranchingDecision.h" diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/DefaultNodeUpdator.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/nodes/DefaultNodeUpdator.h similarity index 99% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/DefaultNodeUpdator.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/nodes/DefaultNodeUpdator.h index 96fc8a1c..41eeaf96 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/DefaultNodeUpdator.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/nodes/DefaultNodeUpdator.h @@ -6,7 +6,7 @@ #define IDOL_DEFAULTNODEUPDATOR_H #include "NodeUpdator.h" -#include "idol/modeling/models/Model.h" +#include "idol/mixed-integer/modeling/models/Model.h" #include "Node.h" #include "DefaultNodeInfo.h" #include "BranchingDecision.h" diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/Node.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/nodes/Node.h similarity index 100% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/Node.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/nodes/Node.h diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/NodeSet.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/nodes/NodeSet.h similarity index 99% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/NodeSet.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/nodes/NodeSet.h index a9931b24..8ac9c254 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/NodeSet.h +++ b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/nodes/NodeSet.h @@ -6,7 +6,7 @@ #define IDOL_NODESET_H #include -#include "idol/utils/IteratorForward.h" +#include "idol/general/utils/IteratorForward.h" namespace idol { template diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/NodeUpdator.h b/lib/include/idol/mixed-integer/optimizers/branch-and-bound/nodes/NodeUpdator.h similarity index 100% rename from lib/include/idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/NodeUpdator.h rename to lib/include/idol/mixed-integer/optimizers/branch-and-bound/nodes/NodeUpdator.h diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/Callback.h b/lib/include/idol/mixed-integer/optimizers/callbacks/Callback.h similarity index 98% rename from lib/include/idol/optimizers/mixed-integer-optimization/callbacks/Callback.h rename to lib/include/idol/mixed-integer/optimizers/callbacks/Callback.h index 457b0e74..2f203e91 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/Callback.h +++ b/lib/include/idol/mixed-integer/optimizers/callbacks/Callback.h @@ -5,7 +5,7 @@ #ifndef IDOL_CALLBACK_H #define IDOL_CALLBACK_H -#include "idol/utils/Point.h" +#include "idol/general/utils/Point.h" namespace idol { class TempCtr; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/CallbackFactory.h b/lib/include/idol/mixed-integer/optimizers/callbacks/CallbackFactory.h similarity index 100% rename from lib/include/idol/optimizers/mixed-integer-optimization/callbacks/CallbackFactory.h rename to lib/include/idol/mixed-integer/optimizers/callbacks/CallbackFactory.h diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/cutting-planes/CutSeparation.h b/lib/include/idol/mixed-integer/optimizers/callbacks/cutting-planes/CutSeparation.h similarity index 89% rename from lib/include/idol/optimizers/mixed-integer-optimization/callbacks/cutting-planes/CutSeparation.h rename to lib/include/idol/mixed-integer/optimizers/callbacks/cutting-planes/CutSeparation.h index 4614673c..a7064169 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/cutting-planes/CutSeparation.h +++ b/lib/include/idol/mixed-integer/optimizers/callbacks/cutting-planes/CutSeparation.h @@ -5,8 +5,8 @@ #ifndef CCG_WITH_NESTED_CG_CUTSEPARATIONCALLBACK_H #define CCG_WITH_NESTED_CG_CUTSEPARATIONCALLBACK_H -#include "idol/modeling/models/Model.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/Callback.h" +#include "idol/mixed-integer/modeling/models/Model.h" +#include "idol/mixed-integer/optimizers/callbacks/Callback.h" namespace idol::impl { class CutSeparation; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/cutting-planes/KnapsackCover.h b/lib/include/idol/mixed-integer/optimizers/callbacks/cutting-planes/KnapsackCover.h similarity index 98% rename from lib/include/idol/optimizers/mixed-integer-optimization/callbacks/cutting-planes/KnapsackCover.h rename to lib/include/idol/mixed-integer/optimizers/callbacks/cutting-planes/KnapsackCover.h index 5028ce66..e22ac6a6 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/cutting-planes/KnapsackCover.h +++ b/lib/include/idol/mixed-integer/optimizers/callbacks/cutting-planes/KnapsackCover.h @@ -5,9 +5,9 @@ #ifndef IDOL_KNAPSACKCOVER_H #define IDOL_KNAPSACKCOVER_H -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/BranchAndBoundCallbackFactory.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/BranchAndBoundCallback.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/DefaultNodeInfo.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/callbacks/BranchAndBoundCallbackFactory.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/callbacks/BranchAndBoundCallback.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/nodes/DefaultNodeInfo.h" namespace idol::Cuts { template class KnapsackCover; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/cutting-planes/LazyCutCallback.h b/lib/include/idol/mixed-integer/optimizers/callbacks/cutting-planes/LazyCutCallback.h similarity index 96% rename from lib/include/idol/optimizers/mixed-integer-optimization/callbacks/cutting-planes/LazyCutCallback.h rename to lib/include/idol/mixed-integer/optimizers/callbacks/cutting-planes/LazyCutCallback.h index 84398adf..c7aca283 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/cutting-planes/LazyCutCallback.h +++ b/lib/include/idol/mixed-integer/optimizers/callbacks/cutting-planes/LazyCutCallback.h @@ -6,7 +6,7 @@ #define CCG_WITH_NESTED_CG_LAZYCUTCALLBACK_H #include "CutSeparation.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/CallbackFactory.h" +#include "idol/mixed-integer/optimizers/callbacks/CallbackFactory.h" namespace idol { class LazyCutCallback; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/cutting-planes/UserCutCallback.h b/lib/include/idol/mixed-integer/optimizers/callbacks/cutting-planes/UserCutCallback.h similarity index 95% rename from lib/include/idol/optimizers/mixed-integer-optimization/callbacks/cutting-planes/UserCutCallback.h rename to lib/include/idol/mixed-integer/optimizers/callbacks/cutting-planes/UserCutCallback.h index 066cf467..d02fec14 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/cutting-planes/UserCutCallback.h +++ b/lib/include/idol/mixed-integer/optimizers/callbacks/cutting-planes/UserCutCallback.h @@ -6,7 +6,7 @@ #define CCG_WITH_NESTED_CG_USERCUTCALLBACK_H #include "CutSeparation.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/CallbackFactory.h" +#include "idol/mixed-integer/optimizers/callbacks/CallbackFactory.h" namespace idol { class UserCutCallback; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/heuristics/IntegerMaster.h b/lib/include/idol/mixed-integer/optimizers/callbacks/heuristics/IntegerMaster.h similarity index 95% rename from lib/include/idol/optimizers/mixed-integer-optimization/callbacks/heuristics/IntegerMaster.h rename to lib/include/idol/mixed-integer/optimizers/callbacks/heuristics/IntegerMaster.h index a0e53a74..3be6d534 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/heuristics/IntegerMaster.h +++ b/lib/include/idol/mixed-integer/optimizers/callbacks/heuristics/IntegerMaster.h @@ -5,10 +5,10 @@ #ifndef IDOL_INTEGERMASTER_H #define IDOL_INTEGERMASTER_H -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/DefaultNodeInfo.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/BranchAndBoundCallbackFactory.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/BranchAndBoundCallback.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/Optimizers_DantzigWolfeDecomposition.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/nodes/DefaultNodeInfo.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/callbacks/BranchAndBoundCallbackFactory.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/callbacks/BranchAndBoundCallback.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/Optimizers_DantzigWolfeDecomposition.h" namespace idol::Heuristics { template class IntegerMaster; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/heuristics/LocalBranching.h b/lib/include/idol/mixed-integer/optimizers/callbacks/heuristics/LocalBranching.h similarity index 86% rename from lib/include/idol/optimizers/mixed-integer-optimization/callbacks/heuristics/LocalBranching.h rename to lib/include/idol/mixed-integer/optimizers/callbacks/heuristics/LocalBranching.h index 7bfe9b81..64cfa164 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/heuristics/LocalBranching.h +++ b/lib/include/idol/mixed-integer/optimizers/callbacks/heuristics/LocalBranching.h @@ -5,9 +5,9 @@ #ifndef IDOL_LOCAL_BRANCHING_H #define IDOL_LOCAL_BRANCHING_H -#include "idol/optimizers/mixed-integer-optimization/callbacks/CallbackFactory.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/Callback.h" -#include "idol/optimizers/OptimizerFactory.h" +#include "idol/mixed-integer/optimizers/callbacks/CallbackFactory.h" +#include "idol/mixed-integer/optimizers/callbacks/Callback.h" +#include "idol/general/optimizers/OptimizerFactory.h" namespace idol::Heuristics { class LocalBranching; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/heuristics/RENS.h b/lib/include/idol/mixed-integer/optimizers/callbacks/heuristics/RENS.h similarity index 87% rename from lib/include/idol/optimizers/mixed-integer-optimization/callbacks/heuristics/RENS.h rename to lib/include/idol/mixed-integer/optimizers/callbacks/heuristics/RENS.h index bfe92143..3192eb7f 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/heuristics/RENS.h +++ b/lib/include/idol/mixed-integer/optimizers/callbacks/heuristics/RENS.h @@ -5,9 +5,9 @@ #ifndef IDOL_RENS_H #define IDOL_RENS_H -#include "idol/optimizers/mixed-integer-optimization/callbacks/CallbackFactory.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/Callback.h" -#include "idol/optimizers/OptimizerFactory.h" +#include "idol/mixed-integer/optimizers/callbacks/CallbackFactory.h" +#include "idol/mixed-integer/optimizers/callbacks/Callback.h" +#include "idol/general/optimizers/OptimizerFactory.h" namespace idol::Heuristics { class RENS; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/heuristics/SimpleRounding.h b/lib/include/idol/mixed-integer/optimizers/callbacks/heuristics/SimpleRounding.h similarity index 81% rename from lib/include/idol/optimizers/mixed-integer-optimization/callbacks/heuristics/SimpleRounding.h rename to lib/include/idol/mixed-integer/optimizers/callbacks/heuristics/SimpleRounding.h index b3d7a09a..fe20afd0 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/heuristics/SimpleRounding.h +++ b/lib/include/idol/mixed-integer/optimizers/callbacks/heuristics/SimpleRounding.h @@ -5,8 +5,8 @@ #ifndef IDOL_SIMPLEROUNDING_H #define IDOL_SIMPLEROUNDING_H -#include "idol/optimizers/mixed-integer-optimization/callbacks/CallbackFactory.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/Callback.h" +#include "idol/mixed-integer/optimizers/callbacks/CallbackFactory.h" +#include "idol/mixed-integer/optimizers/callbacks/Callback.h" namespace idol::Heuristics { class SimpleRounding; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/watchers/ExportBranchAndBoundTreeToCSV.h b/lib/include/idol/mixed-integer/optimizers/callbacks/watchers/ExportBranchAndBoundTreeToCSV.h similarity index 92% rename from lib/include/idol/optimizers/mixed-integer-optimization/callbacks/watchers/ExportBranchAndBoundTreeToCSV.h rename to lib/include/idol/mixed-integer/optimizers/callbacks/watchers/ExportBranchAndBoundTreeToCSV.h index f0bceb5d..ab9ae162 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/watchers/ExportBranchAndBoundTreeToCSV.h +++ b/lib/include/idol/mixed-integer/optimizers/callbacks/watchers/ExportBranchAndBoundTreeToCSV.h @@ -6,9 +6,9 @@ #define IDOL_EXPORTBRANCHANDBOUNDTREETOCSV_H -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/DefaultNodeInfo.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/BranchAndBoundCallbackFactory.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/callbacks/BranchAndBoundCallback.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/nodes/DefaultNodeInfo.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/callbacks/BranchAndBoundCallbackFactory.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/callbacks/BranchAndBoundCallback.h" #include namespace idol::Utils { diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/watchers/PlotManager.h b/lib/include/idol/mixed-integer/optimizers/callbacks/watchers/PlotManager.h similarity index 96% rename from lib/include/idol/optimizers/mixed-integer-optimization/callbacks/watchers/PlotManager.h rename to lib/include/idol/mixed-integer/optimizers/callbacks/watchers/PlotManager.h index 06a4d7e9..e014bd8a 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/watchers/PlotManager.h +++ b/lib/include/idol/mixed-integer/optimizers/callbacks/watchers/PlotManager.h @@ -6,7 +6,7 @@ #define IDOL_PLOTMANAGER_H #include -#include "idol/errors/Exception.h" +#include "idol/general/utils/exceptions/Exception.h" #ifdef IDOL_USE_ROOT #include diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/watchers/Plots_OptimalityGap.h b/lib/include/idol/mixed-integer/optimizers/callbacks/watchers/Plots_OptimalityGap.h similarity index 82% rename from lib/include/idol/optimizers/mixed-integer-optimization/callbacks/watchers/Plots_OptimalityGap.h rename to lib/include/idol/mixed-integer/optimizers/callbacks/watchers/Plots_OptimalityGap.h index da82311b..25037599 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/callbacks/watchers/Plots_OptimalityGap.h +++ b/lib/include/idol/mixed-integer/optimizers/callbacks/watchers/Plots_OptimalityGap.h @@ -5,9 +5,9 @@ #ifndef IDOL_PLOTS_OPTIMALITYGAP_H #define IDOL_PLOTS_OPTIMALITYGAP_H -#include "idol/optimizers/mixed-integer-optimization/callbacks/CallbackFactory.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/Callback.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/watchers/PlotManager.h" +#include "idol/mixed-integer/optimizers/callbacks/CallbackFactory.h" +#include "idol/mixed-integer/optimizers/callbacks/Callback.h" +#include "PlotManager.h" namespace idol::Plots { class OptimalityGap; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/ColumnGeneration.h b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/ColumnGeneration.h similarity index 100% rename from lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/ColumnGeneration.h rename to lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/ColumnGeneration.h diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/DantzigWolfeDecomposition.h b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/DantzigWolfeDecomposition.h similarity index 86% rename from lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/DantzigWolfeDecomposition.h rename to lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/DantzigWolfeDecomposition.h index 116fd81b..670850b3 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/DantzigWolfeDecomposition.h +++ b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/DantzigWolfeDecomposition.h @@ -5,14 +5,14 @@ #ifndef IDOL_DANTZIGWOLFEDECOMPOSITION_H #define IDOL_DANTZIGWOLFEDECOMPOSITION_H -#include "idol/optimizers/OptimizerFactory.h" -#include "idol/modeling/annotations/Annotation.h" +#include "idol/general/optimizers/OptimizerFactory.h" +#include "idol/mixed-integer/modeling/annotations/Annotation.h" #include "SubProblem.h" -#include "idol/utils/Map.h" +#include "idol/general/utils/Map.h" #include "Formulation.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/DantzigWolfeInfeasibilityStrategy.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/stabilization/DualPriceSmoothingStabilization.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/logs/Factory.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/infeasibility-strategies/DantzigWolfeInfeasibilityStrategy.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/stabilization/DualPriceSmoothingStabilization.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/logs/Factory.h" namespace idol { class DantzigWolfeDecomposition; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/Formulation.h b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/Formulation.h similarity index 97% rename from lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/Formulation.h rename to lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/Formulation.h index c5881546..94a1175c 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/Formulation.h +++ b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/Formulation.h @@ -5,8 +5,8 @@ #ifndef IDOL_FORMULATION_H #define IDOL_FORMULATION_H -#include "idol/modeling/models/Model.h" -#include "idol/utils/GeneratorPool.h" +#include "idol/mixed-integer/modeling/models/Model.h" +#include "idol/general/utils/GeneratorPool.h" namespace idol::DantzigWolfe { class Formulation; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/Optimizers_DantzigWolfeDecomposition.h b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/Optimizers_DantzigWolfeDecomposition.h similarity index 90% rename from lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/Optimizers_DantzigWolfeDecomposition.h rename to lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/Optimizers_DantzigWolfeDecomposition.h index a05716b5..0d934d6e 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/Optimizers_DantzigWolfeDecomposition.h +++ b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/Optimizers_DantzigWolfeDecomposition.h @@ -5,12 +5,12 @@ #ifndef IDOL_OPTIMIZERS_DANTZIGWOLFEDECOMPOSITION_H #define IDOL_OPTIMIZERS_DANTZIGWOLFEDECOMPOSITION_H -#include "idol/optimizers/Algorithm.h" +#include "idol/general/optimizers/Algorithm.h" #include "Formulation.h" #include "SubProblem.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/DantzigWolfeInfeasibilityStrategy.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/stabilization/DualPriceSmoothingStabilization.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/logs/Factory.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/infeasibility-strategies/DantzigWolfeInfeasibilityStrategy.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/stabilization/DualPriceSmoothingStabilization.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/logs/Factory.h" namespace idol::Optimizers { class DantzigWolfeDecomposition; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/SubProblem.h b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/SubProblem.h similarity index 94% rename from lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/SubProblem.h rename to lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/SubProblem.h index 20c8de5d..3c3709cb 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/SubProblem.h +++ b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/SubProblem.h @@ -8,8 +8,8 @@ #include #include #include -#include "idol/optimizers/OptimizerFactory.h" -#include "idol/utils/IteratorForward.h" +#include "idol/general/optimizers/OptimizerFactory.h" +#include "idol/general/utils/IteratorForward.h" namespace idol::DantzigWolfe { class SubProblem; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/ArtificialCosts.h b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/infeasibility-strategies/ArtificialCosts.h similarity index 96% rename from lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/ArtificialCosts.h rename to lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/infeasibility-strategies/ArtificialCosts.h index 27a4b639..a5b22358 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/ArtificialCosts.h +++ b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/infeasibility-strategies/ArtificialCosts.h @@ -6,7 +6,7 @@ #define IDOL_ARTIFICIALCOSTS_H #include "DantzigWolfeInfeasibilityStrategy.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/ColumnGeneration.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/ColumnGeneration.h" namespace idol::DantzigWolfe { class ArtificialCosts; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/DantzigWolfeInfeasibilityStrategy.h b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/infeasibility-strategies/DantzigWolfeInfeasibilityStrategy.h similarity index 95% rename from lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/DantzigWolfeInfeasibilityStrategy.h rename to lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/infeasibility-strategies/DantzigWolfeInfeasibilityStrategy.h index da3363dc..7ba2e436 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/DantzigWolfeInfeasibilityStrategy.h +++ b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/infeasibility-strategies/DantzigWolfeInfeasibilityStrategy.h @@ -5,8 +5,8 @@ #ifndef IDOL_DANTZIGWOLFEINFEASIBILITYSTRATEGY_H #define IDOL_DANTZIGWOLFEINFEASIBILITYSTRATEGY_H -#include "idol/utils/types.h" -#include "idol/utils/Point.h" +#include "idol/general/utils/types.h" +#include "idol/general/utils/Point.h" namespace idol::Optimizers { class DantzigWolfeDecomposition; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/FarkasPricing.h b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/infeasibility-strategies/FarkasPricing.h similarity index 100% rename from lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/FarkasPricing.h rename to lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/infeasibility-strategies/FarkasPricing.h diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/logs/Factory.h b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/logs/Factory.h similarity index 96% rename from lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/logs/Factory.h rename to lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/logs/Factory.h index d56fb9ba..7384f8fa 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/logs/Factory.h +++ b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/logs/Factory.h @@ -5,8 +5,8 @@ #ifndef IDOL_LOGS_DANTZIGWOLFE_FACTORY_H #define IDOL_LOGS_DANTZIGWOLFE_FACTORY_H -#include "idol/modeling/numericals.h" -#include "idol/utils/types.h" +#include "idol/general/numericals.h" +#include "idol/general/utils/types.h" namespace idol::Logs::DantzigWolfe { class Factory; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/logs/Info.h b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/logs/Info.h similarity index 98% rename from lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/logs/Info.h rename to lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/logs/Info.h index 9687ee64..5da10675 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/logs/Info.h +++ b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/logs/Info.h @@ -6,7 +6,7 @@ #define IDOL_LOGS_DANTZIGWOLFE_INFO_H #include "Factory.h" -#include "idol/utils/types.h" +#include "idol/general/utils/types.h" #include namespace idol::Logs::DantzigWolfe { diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/stabilization/DualPriceSmoothingStabilization.h b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/stabilization/DualPriceSmoothingStabilization.h similarity index 95% rename from lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/stabilization/DualPriceSmoothingStabilization.h rename to lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/stabilization/DualPriceSmoothingStabilization.h index 5be015cd..03391eba 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/stabilization/DualPriceSmoothingStabilization.h +++ b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/stabilization/DualPriceSmoothingStabilization.h @@ -5,7 +5,7 @@ #ifndef IDOL_DUALPRICESMOOTHINGSTABILIZATION_H #define IDOL_DUALPRICESMOOTHINGSTABILIZATION_H -#include "idol/utils/Point.h" +#include "idol/general/utils/Point.h" namespace idol::DantzigWolfe { class DualPriceSmoothingStabilization; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/stabilization/Neame.h b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/stabilization/Neame.h similarity index 100% rename from lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/stabilization/Neame.h rename to lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/stabilization/Neame.h diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/stabilization/NoStabilization.h b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/stabilization/NoStabilization.h similarity index 100% rename from lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/stabilization/NoStabilization.h rename to lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/stabilization/NoStabilization.h diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/stabilization/Wentges.h b/lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/stabilization/Wentges.h similarity index 100% rename from lib/include/idol/optimizers/mixed-integer-optimization/dantzig-wolfe/stabilization/Wentges.h rename to lib/include/idol/mixed-integer/optimizers/dantzig-wolfe/stabilization/Wentges.h diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/padm/Formulation.h b/lib/include/idol/mixed-integer/optimizers/padm/Formulation.h similarity index 98% rename from lib/include/idol/optimizers/mixed-integer-optimization/padm/Formulation.h rename to lib/include/idol/mixed-integer/optimizers/padm/Formulation.h index 5a44eb43..cf041a56 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/padm/Formulation.h +++ b/lib/include/idol/mixed-integer/optimizers/padm/Formulation.h @@ -7,7 +7,7 @@ #include -#include "idol/modeling/models/Model.h" +#include "idol/mixed-integer/modeling/models/Model.h" namespace idol { class PenaltyUpdate; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/padm/Optimizers_PADM.h b/lib/include/idol/mixed-integer/optimizers/padm/Optimizers_PADM.h similarity index 96% rename from lib/include/idol/optimizers/mixed-integer-optimization/padm/Optimizers_PADM.h rename to lib/include/idol/mixed-integer/optimizers/padm/Optimizers_PADM.h index 1a5c692d..eb045cdd 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/padm/Optimizers_PADM.h +++ b/lib/include/idol/mixed-integer/optimizers/padm/Optimizers_PADM.h @@ -5,9 +5,9 @@ #ifndef IDOL_OPTIMIZERS_PADM_H #define IDOL_OPTIMIZERS_PADM_H -#include "idol/optimizers/Algorithm.h" -#include "idol/optimizers/mixed-integer-optimization/padm/SubProblem.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/watchers/PlotManager.h" +#include "idol/general/optimizers/Algorithm.h" +#include "SubProblem.h" +#include "idol/mixed-integer/optimizers/callbacks/watchers/PlotManager.h" #include "Formulation.h" #include "PenaltyUpdates.h" diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/padm/PADM.h b/lib/include/idol/mixed-integer/optimizers/padm/PADM.h similarity index 89% rename from lib/include/idol/optimizers/mixed-integer-optimization/padm/PADM.h rename to lib/include/idol/mixed-integer/optimizers/padm/PADM.h index a237bd6e..898b53be 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/padm/PADM.h +++ b/lib/include/idol/mixed-integer/optimizers/padm/PADM.h @@ -5,13 +5,13 @@ #ifndef IDOL_PADM_H #define IDOL_PADM_H -#include "idol/optimizers/OptimizerFactory.h" -#include "idol/modeling/annotations/Annotation.h" -#include "idol/utils/Map.h" +#include "idol/general/optimizers/OptimizerFactory.h" +#include "idol/mixed-integer/modeling/annotations/Annotation.h" +#include "idol/general/utils/Map.h" #include "SubProblem.h" #include "Formulation.h" #include "PenaltyUpdates.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/watchers/PlotManager.h" +#include "idol/mixed-integer/optimizers/callbacks/watchers/PlotManager.h" #include namespace idol { diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/padm/PenaltyMethod.h b/lib/include/idol/mixed-integer/optimizers/padm/PenaltyMethod.h similarity index 92% rename from lib/include/idol/optimizers/mixed-integer-optimization/padm/PenaltyMethod.h rename to lib/include/idol/mixed-integer/optimizers/padm/PenaltyMethod.h index dfabc3c4..68868fc5 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/padm/PenaltyMethod.h +++ b/lib/include/idol/mixed-integer/optimizers/padm/PenaltyMethod.h @@ -5,9 +5,9 @@ #ifndef IDOL_PENALTYMETHOD_H #define IDOL_PENALTYMETHOD_H -#include "idol/optimizers/OptimizerFactory.h" -#include "idol/modeling/annotations/Annotation.h" -#include "idol/utils/Map.h" +#include "idol/general/optimizers/OptimizerFactory.h" +#include "idol/mixed-integer/modeling/annotations/Annotation.h" +#include "idol/general/utils/Map.h" #include "SubProblem.h" #include "Formulation.h" #include "PenaltyUpdates.h" diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/padm/PenaltyUpdates.h b/lib/include/idol/mixed-integer/optimizers/padm/PenaltyUpdates.h similarity index 100% rename from lib/include/idol/optimizers/mixed-integer-optimization/padm/PenaltyUpdates.h rename to lib/include/idol/mixed-integer/optimizers/padm/PenaltyUpdates.h diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/padm/SubProblem.h b/lib/include/idol/mixed-integer/optimizers/padm/SubProblem.h similarity index 89% rename from lib/include/idol/optimizers/mixed-integer-optimization/padm/SubProblem.h rename to lib/include/idol/mixed-integer/optimizers/padm/SubProblem.h index 1d07189a..64948b5e 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/padm/SubProblem.h +++ b/lib/include/idol/mixed-integer/optimizers/padm/SubProblem.h @@ -5,8 +5,8 @@ #ifndef IDOL_ADM_SUBPROBLEM_H #define IDOL_ADM_SUBPROBLEM_H -#include "idol/optimizers/OptimizerFactory.h" -#include "idol/utils/Point.h" +#include "idol/general/optimizers/OptimizerFactory.h" +#include "idol/general/utils/Point.h" #include namespace idol::ADM { diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/GLPK/GLPK.h b/lib/include/idol/mixed-integer/optimizers/wrappers/GLPK/GLPK.h similarity index 88% rename from lib/include/idol/optimizers/mixed-integer-optimization/wrappers/GLPK/GLPK.h rename to lib/include/idol/mixed-integer/optimizers/wrappers/GLPK/GLPK.h index e9140d83..30f591a1 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/GLPK/GLPK.h +++ b/lib/include/idol/mixed-integer/optimizers/wrappers/GLPK/GLPK.h @@ -5,8 +5,8 @@ #ifndef IDOL_GLPK_H #define IDOL_GLPK_H -#include "idol/optimizers/OptimizerFactory.h" -#include "idol/modeling/objects/Env.h" +#include "idol/general/optimizers/OptimizerFactory.h" +#include "idol/mixed-integer/modeling/objects/Env.h" namespace idol { class GLPK; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/GLPK/Optimizers_GLPK.h b/lib/include/idol/mixed-integer/optimizers/wrappers/GLPK/Optimizers_GLPK.h similarity index 97% rename from lib/include/idol/optimizers/mixed-integer-optimization/wrappers/GLPK/Optimizers_GLPK.h rename to lib/include/idol/mixed-integer/optimizers/wrappers/GLPK/Optimizers_GLPK.h index 6ab5a7b2..5e5e0b91 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/GLPK/Optimizers_GLPK.h +++ b/lib/include/idol/mixed-integer/optimizers/wrappers/GLPK/Optimizers_GLPK.h @@ -9,7 +9,7 @@ #ifdef IDOL_USE_GLPK -#include "idol/optimizers/mixed-integer-optimization/wrappers/OptimizerWithLazyUpdates.h" +#include "idol/mixed-integer/optimizers/wrappers/OptimizerWithLazyUpdates.h" #include namespace idol::Optimizers { diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.h b/lib/include/idol/mixed-integer/optimizers/wrappers/Gurobi/Gurobi.h similarity index 87% rename from lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.h rename to lib/include/idol/mixed-integer/optimizers/wrappers/Gurobi/Gurobi.h index cce19b47..fa4f7d14 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.h +++ b/lib/include/idol/mixed-integer/optimizers/wrappers/Gurobi/Gurobi.h @@ -5,12 +5,12 @@ #ifndef IDOL_GUROBI_H #define IDOL_GUROBI_H -#include "idol/optimizers/OptimizerFactory.h" +#include "idol/general/optimizers/OptimizerFactory.h" #include #include -#include "idol/optimizers/mixed-integer-optimization/callbacks/CallbackFactory.h" -#include "idol/utils/Map.h" -#include "idol/modeling/objects/Env.h" +#include "idol/mixed-integer/optimizers/callbacks/CallbackFactory.h" +#include "idol/general/utils/Map.h" +#include "idol/mixed-integer/modeling/objects/Env.h" #ifdef IDOL_USE_GUROBI #include diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/GurobiCallbackI.h b/lib/include/idol/mixed-integer/optimizers/wrappers/Gurobi/GurobiCallbackI.h similarity index 91% rename from lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/GurobiCallbackI.h rename to lib/include/idol/mixed-integer/optimizers/wrappers/Gurobi/GurobiCallbackI.h index 523a20d5..2d2a86f7 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/GurobiCallbackI.h +++ b/lib/include/idol/mixed-integer/optimizers/wrappers/Gurobi/GurobiCallbackI.h @@ -10,8 +10,8 @@ #include #include #include -#include "idol/modeling/constraints/TempCtr.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/Callback.h" +#include "idol/mixed-integer/modeling/constraints/TempCtr.h" +#include "idol/mixed-integer/optimizers/callbacks/Callback.h" namespace idol { namespace Optimizers { diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Optimizers_Gurobi.h b/lib/include/idol/mixed-integer/optimizers/wrappers/Gurobi/Optimizers_Gurobi.h similarity index 96% rename from lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Optimizers_Gurobi.h rename to lib/include/idol/mixed-integer/optimizers/wrappers/Gurobi/Optimizers_Gurobi.h index ca2930f2..c7a92f59 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Optimizers_Gurobi.h +++ b/lib/include/idol/mixed-integer/optimizers/wrappers/Gurobi/Optimizers_Gurobi.h @@ -10,8 +10,8 @@ #include #include -#include "idol/optimizers/mixed-integer-optimization/wrappers/OptimizerWithLazyUpdates.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/Callback.h" +#include "idol/mixed-integer/optimizers/wrappers/OptimizerWithLazyUpdates.h" +#include "idol/mixed-integer/optimizers/callbacks/Callback.h" #include "GurobiCallbackI.h" namespace idol::Optimizers { diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/HiGHS/HiGHS.h b/lib/include/idol/mixed-integer/optimizers/wrappers/HiGHS/HiGHS.h similarity index 89% rename from lib/include/idol/optimizers/mixed-integer-optimization/wrappers/HiGHS/HiGHS.h rename to lib/include/idol/mixed-integer/optimizers/wrappers/HiGHS/HiGHS.h index bbca3b32..565563d1 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/HiGHS/HiGHS.h +++ b/lib/include/idol/mixed-integer/optimizers/wrappers/HiGHS/HiGHS.h @@ -5,8 +5,8 @@ #ifndef IDOL_HIGHS_H #define IDOL_HIGHS_H -#include "idol/optimizers/OptimizerFactory.h" -#include "idol/utils/Map.h" +#include "idol/general/optimizers/OptimizerFactory.h" +#include "idol/general/utils/Map.h" namespace idol { class HiGHS; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/HiGHS/Optimizers_HiGHS.h b/lib/include/idol/mixed-integer/optimizers/wrappers/HiGHS/Optimizers_HiGHS.h similarity index 97% rename from lib/include/idol/optimizers/mixed-integer-optimization/wrappers/HiGHS/Optimizers_HiGHS.h rename to lib/include/idol/mixed-integer/optimizers/wrappers/HiGHS/Optimizers_HiGHS.h index 80e89226..74e18033 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/HiGHS/Optimizers_HiGHS.h +++ b/lib/include/idol/mixed-integer/optimizers/wrappers/HiGHS/Optimizers_HiGHS.h @@ -7,7 +7,7 @@ #ifdef IDOL_USE_HIGHS -#include "idol/optimizers/mixed-integer-optimization/wrappers/OptimizerWithLazyUpdates.h" +#include "idol/mixed-integer/optimizers/wrappers/OptimizerWithLazyUpdates.h" #include #include diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Mosek/Mosek.h b/lib/include/idol/mixed-integer/optimizers/wrappers/Mosek/Mosek.h similarity index 89% rename from lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Mosek/Mosek.h rename to lib/include/idol/mixed-integer/optimizers/wrappers/Mosek/Mosek.h index 231200aa..083584a9 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Mosek/Mosek.h +++ b/lib/include/idol/mixed-integer/optimizers/wrappers/Mosek/Mosek.h @@ -7,9 +7,9 @@ #include #include -#include "idol/optimizers/OptimizerFactory.h" -#include "idol/utils/Map.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/CallbackFactory.h" +#include "idol/general/optimizers/OptimizerFactory.h" +#include "idol/general/utils/Map.h" +#include "idol/mixed-integer/optimizers/callbacks/CallbackFactory.h" namespace idol { class Mosek; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Mosek/MosekCallbackI.h b/lib/include/idol/mixed-integer/optimizers/wrappers/Mosek/MosekCallbackI.h similarity index 95% rename from lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Mosek/MosekCallbackI.h rename to lib/include/idol/mixed-integer/optimizers/wrappers/Mosek/MosekCallbackI.h index 8617d997..00e333a1 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Mosek/MosekCallbackI.h +++ b/lib/include/idol/mixed-integer/optimizers/wrappers/Mosek/MosekCallbackI.h @@ -8,7 +8,7 @@ #ifdef IDOL_USE_MOSEK #include -#include "../../callbacks/Callback.h" +#include "idol/mixed-integer/optimizers/callbacks/Callback.h" namespace idol { namespace Optimizers { diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Mosek/Optimizers_Mosek.h b/lib/include/idol/mixed-integer/optimizers/wrappers/Mosek/Optimizers_Mosek.h similarity index 97% rename from lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Mosek/Optimizers_Mosek.h rename to lib/include/idol/mixed-integer/optimizers/wrappers/Mosek/Optimizers_Mosek.h index cc7e5f67..60ea9778 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Mosek/Optimizers_Mosek.h +++ b/lib/include/idol/mixed-integer/optimizers/wrappers/Mosek/Optimizers_Mosek.h @@ -7,7 +7,7 @@ #ifdef IDOL_USE_MOSEK -#include "idol/optimizers/mixed-integer-optimization/wrappers/OptimizerWithLazyUpdates.h" +#include "idol/mixed-integer/optimizers/wrappers/OptimizerWithLazyUpdates.h" #include "MosekCallbackI.h" #include diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/OptimizerWithLazyUpdates.h b/lib/include/idol/mixed-integer/optimizers/wrappers/OptimizerWithLazyUpdates.h similarity index 99% rename from lib/include/idol/optimizers/mixed-integer-optimization/wrappers/OptimizerWithLazyUpdates.h rename to lib/include/idol/mixed-integer/optimizers/wrappers/OptimizerWithLazyUpdates.h index dd749d3c..5e7c840a 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/OptimizerWithLazyUpdates.h +++ b/lib/include/idol/mixed-integer/optimizers/wrappers/OptimizerWithLazyUpdates.h @@ -5,9 +5,9 @@ #ifndef IDOL_OPTIMIZERWITHLAZYUPDATES_H #define IDOL_OPTIMIZERWITHLAZYUPDATES_H -#include "idol/optimizers/Optimizer.h" +#include "idol/general/optimizers/Optimizer.h" -#include "idol/modeling/models/Model.h" +#include "idol/mixed-integer/modeling/models/Model.h" #include #include diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Osi/Optimizers_Osi.h b/lib/include/idol/mixed-integer/optimizers/wrappers/Osi/Optimizers_Osi.h similarity index 96% rename from lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Osi/Optimizers_Osi.h rename to lib/include/idol/mixed-integer/optimizers/wrappers/Osi/Optimizers_Osi.h index ee17d3e0..216ffe4d 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Osi/Optimizers_Osi.h +++ b/lib/include/idol/mixed-integer/optimizers/wrappers/Osi/Optimizers_Osi.h @@ -9,7 +9,7 @@ #include #include -#include "idol/optimizers/mixed-integer-optimization/wrappers/OptimizerWithLazyUpdates.h" +#include "idol/mixed-integer/optimizers/wrappers/OptimizerWithLazyUpdates.h" namespace idol::Optimizers { class Osi; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Osi/Osi.h b/lib/include/idol/mixed-integer/optimizers/wrappers/Osi/Osi.h similarity index 97% rename from lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Osi/Osi.h rename to lib/include/idol/mixed-integer/optimizers/wrappers/Osi/Osi.h index d013ce4f..380ae77b 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Osi/Osi.h +++ b/lib/include/idol/mixed-integer/optimizers/wrappers/Osi/Osi.h @@ -36,7 +36,7 @@ class idol::name : public idol::Osi { \ static Osi ContinuousRelaxation() { return name(); } \ }; -#include "idol/optimizers/OptimizerFactory.h" +#include "idol/general/optimizers/OptimizerFactory.h" namespace idol { class Osi; diff --git a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Osi/OsiIdolSolverInterface.h b/lib/include/idol/mixed-integer/optimizers/wrappers/Osi/OsiIdolSolverInterface.h similarity index 99% rename from lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Osi/OsiIdolSolverInterface.h rename to lib/include/idol/mixed-integer/optimizers/wrappers/Osi/OsiIdolSolverInterface.h index 2ff9243e..a6dae75a 100644 --- a/lib/include/idol/optimizers/mixed-integer-optimization/wrappers/Osi/OsiIdolSolverInterface.h +++ b/lib/include/idol/mixed-integer/optimizers/wrappers/Osi/OsiIdolSolverInterface.h @@ -8,7 +8,7 @@ #ifdef IDOL_USE_OSI #include -#include "idol/modeling/models/Model.h" +#include "idol/mixed-integer/modeling/models/Model.h" class OsiIdolSolverInterface : public OsiSolverInterface { idol::Model& m_model; diff --git a/lib/include/idol/problems/facility-location-problem/FLP_Instance.h b/lib/include/idol/mixed-integer/problems/facility-location-problem/FLP_Instance.h similarity index 100% rename from lib/include/idol/problems/facility-location-problem/FLP_Instance.h rename to lib/include/idol/mixed-integer/problems/facility-location-problem/FLP_Instance.h diff --git a/lib/include/idol/problems/generalized-assignment-problem/GAP_Instance.h b/lib/include/idol/mixed-integer/problems/generalized-assignment-problem/GAP_Instance.h similarity index 100% rename from lib/include/idol/problems/generalized-assignment-problem/GAP_Instance.h rename to lib/include/idol/mixed-integer/problems/generalized-assignment-problem/GAP_Instance.h diff --git a/lib/include/idol/problems/helpers/distances.h b/lib/include/idol/mixed-integer/problems/helpers/distances.h similarity index 100% rename from lib/include/idol/problems/helpers/distances.h rename to lib/include/idol/mixed-integer/problems/helpers/distances.h diff --git a/lib/include/idol/problems/helpers/parse_delimited.h b/lib/include/idol/mixed-integer/problems/helpers/parse_delimited.h similarity index 100% rename from lib/include/idol/problems/helpers/parse_delimited.h rename to lib/include/idol/mixed-integer/problems/helpers/parse_delimited.h diff --git a/lib/include/idol/problems/knapsack-problem/KP_Instance.h b/lib/include/idol/mixed-integer/problems/knapsack-problem/KP_Instance.h similarity index 100% rename from lib/include/idol/problems/knapsack-problem/KP_Instance.h rename to lib/include/idol/mixed-integer/problems/knapsack-problem/KP_Instance.h diff --git a/lib/include/idol/problems/multiple-knapsack-problem/MKP_Instance.h b/lib/include/idol/mixed-integer/problems/multiple-knapsack-problem/MKP_Instance.h similarity index 100% rename from lib/include/idol/problems/multiple-knapsack-problem/MKP_Instance.h rename to lib/include/idol/mixed-integer/problems/multiple-knapsack-problem/MKP_Instance.h diff --git a/lib/include/idol/problems/staff-rostering-problem/SRP_Instance.h b/lib/include/idol/mixed-integer/problems/staff-rostering-problem/SRP_Instance.h similarity index 100% rename from lib/include/idol/problems/staff-rostering-problem/SRP_Instance.h rename to lib/include/idol/mixed-integer/problems/staff-rostering-problem/SRP_Instance.h diff --git a/lib/include/idol/modeling.h b/lib/include/idol/modeling.h index 6e89cc84..50e4ad6f 100644 --- a/lib/include/idol/modeling.h +++ b/lib/include/idol/modeling.h @@ -5,11 +5,11 @@ #ifndef OPTIMIZE_MODELING_H #define OPTIMIZE_MODELING_H -#include "idol/modeling/objects/Env.h" -#include "idol/modeling/models/Model.h" +#include "idol/mixed-integer/modeling/objects/Env.h" +#include "idol/mixed-integer/modeling/models/Model.h" -#include "idol/modeling/expressions/operations/operators.h" +#include "idol/mixed-integer/modeling/expressions/operations/operators.h" -#include "idol/modeling/constraints/TempCtr.h" +#include "idol/mixed-integer/modeling/constraints/TempCtr.h" #endif //OPTIMIZE_MODELING_H diff --git a/lib/include/idol/modeling/robust-optimization/StageDescription.h b/lib/include/idol/robust/modeling/StageDescription.h similarity index 91% rename from lib/include/idol/modeling/robust-optimization/StageDescription.h rename to lib/include/idol/robust/modeling/StageDescription.h index cabcf6a9..882826ca 100644 --- a/lib/include/idol/modeling/robust-optimization/StageDescription.h +++ b/lib/include/idol/robust/modeling/StageDescription.h @@ -5,9 +5,9 @@ #ifndef IDOL_STAGEDESCRIPTION_H #define IDOL_STAGEDESCRIPTION_H -#include "idol/modeling/variables/Var.h" -#include "idol/modeling/models/Model.h" -#include "idol/modeling/objects/Versions.h" +#include "idol/mixed-integer/modeling/variables/Var.h" +#include "idol/mixed-integer/modeling/models/Model.h" +#include "idol/mixed-integer/modeling/objects/Versions.h" namespace idol::Robust { class StageDescription; diff --git a/lib/include/idol/solvers.h b/lib/include/idol/solvers.h index e379c927..66af5853 100644 --- a/lib/include/idol/solvers.h +++ b/lib/include/idol/solvers.h @@ -6,30 +6,30 @@ #define OPTIMIZE_OPTIMIZERS_H // Branch-and-Bound -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/BranchAndBound.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/UniformlyRandom.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/FirstInfeasibleFound.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/MostInfeasible.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/PseudoCost.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/StrongBranching.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/LeastInfeasible.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/BreadthFirst.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/DepthFirst.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/WorstBound.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/BestBound.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/BestEstimate.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/BranchAndBound.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/UniformlyRandom.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/FirstInfeasibleFound.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/MostInfeasible.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/PseudoCost.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/StrongBranching.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/LeastInfeasible.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/BreadthFirst.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/DepthFirst.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/WorstBound.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/BestBound.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/BestEstimate.h" // Dantzig-Wolfe decomposition -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/DantzigWolfeDecomposition.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/FarkasPricing.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/stabilization/NoStabilization.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/stabilization/Neame.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/stabilization/Wentges.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/DantzigWolfeDecomposition.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/infeasibility-strategies/FarkasPricing.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/stabilization/NoStabilization.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/stabilization/Neame.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/stabilization/Wentges.h" // Wrappers -#include "idol/optimizers/mixed-integer-optimization/wrappers/GLPK/GLPK.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/HiGHS/HiGHS.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/Mosek/Mosek.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.h" +#include "idol/mixed-integer/optimizers/wrappers/GLPK/GLPK.h" +#include "idol/mixed-integer/optimizers/wrappers/HiGHS/HiGHS.h" +#include "idol/mixed-integer/optimizers/wrappers/Mosek/Mosek.h" +#include "idol/mixed-integer/optimizers/wrappers/Gurobi/Gurobi.h" #endif //OPTIMIZE_OPTIMIZERS_H diff --git a/lib/src/containers/uuid.cpp b/lib/src/containers/uuid.cpp index 9c5d859c..b4ef0673 100644 --- a/lib/src/containers/uuid.cpp +++ b/lib/src/containers/uuid.cpp @@ -1,7 +1,7 @@ // // Created by henri on 21.10.24. // -#include "idol/utils/uuid.h" +#include "idol/general/utils/uuid.h" std::string idol::generate_uuid_v4() { std::random_device rd; diff --git a/lib/src/modeling/annotations/impl_Annotation.cpp b/lib/src/modeling/annotations/impl_Annotation.cpp index 967865f2..758a8166 100644 --- a/lib/src/modeling/annotations/impl_Annotation.cpp +++ b/lib/src/modeling/annotations/impl_Annotation.cpp @@ -2,8 +2,8 @@ // Created by henri on 03/02/23. // -#include "idol/modeling//annotations/impl_Annotation.h" -#include "idol/modeling//objects/Env.h" +#include "idol/mixed-integer/modeling/annotations/impl_Annotation.h" +#include "idol/mixed-integer/modeling/objects/Env.h" idol::impl::Annotation::Annotation(::idol::Env &t_env, bool t_is_var_annotation, std::string &&t_name) : m_id([&]() { diff --git a/lib/src/modeling/bilevel-optimization/read_from_file.cpp b/lib/src/modeling/bilevel-optimization/read_from_file.cpp index 378b6bf4..afc2df83 100644 --- a/lib/src/modeling/bilevel-optimization/read_from_file.cpp +++ b/lib/src/modeling/bilevel-optimization/read_from_file.cpp @@ -1,11 +1,11 @@ // // Created by henri on 04.03.24. // -#include "idol/modeling/bilevel-optimization/read_from_file.h" -#include "idol/modeling/models/Model.h" -#include "idol/utils/Set.h" -#include "idol/modeling/objects/Versions.h" -#include "idol/modeling/expressions/operations/operators.h" +#include "idol/bilevel/modeling/read_from_file.h" +#include "idol/mixed-integer/modeling/models/Model.h" +#include "idol/general/utils/Set.h" +#include "idol/mixed-integer/modeling/objects/Versions.h" +#include "idol/mixed-integer/modeling/expressions/operations/operators.h" #include #include diff --git a/lib/src/modeling/bilevel-optimization/write_to_file.cpp b/lib/src/modeling/bilevel-optimization/write_to_file.cpp index 5fcc4ad6..84c9f8f9 100644 --- a/lib/src/modeling/bilevel-optimization/write_to_file.cpp +++ b/lib/src/modeling/bilevel-optimization/write_to_file.cpp @@ -2,8 +2,8 @@ // Created by henri on 20.06.24. // -#include "idol/modeling/bilevel-optimization/write_to_file.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.h" +#include "idol/bilevel/modeling/write_to_file.h" +#include "idol/mixed-integer/optimizers/wrappers/Gurobi/Gurobi.h" using namespace idol; diff --git a/lib/src/modeling/constraints/Ctr.cpp b/lib/src/modeling/constraints/Ctr.cpp index 9f266501..f2607a66 100644 --- a/lib/src/modeling/constraints/Ctr.cpp +++ b/lib/src/modeling/constraints/Ctr.cpp @@ -1,8 +1,8 @@ // // Created by henri on 30/01/23. // -#include "idol/modeling//constraints/Ctr.h" -#include "idol/modeling//objects/Env.h" +#include "idol/mixed-integer/modeling/constraints/Ctr.h" +#include "idol/mixed-integer/modeling/objects/Env.h" idol::Ctr::Ctr(Env &t_env, TempCtr &&t_temp_ctr, std::string t_name) : Object(t_env.create_ctr(std::move(t_name), std::move(t_temp_ctr))) { diff --git a/lib/src/modeling/constraints/TempCtr.cpp b/lib/src/modeling/constraints/TempCtr.cpp index ce1fdb1f..ffdb311a 100644 --- a/lib/src/modeling/constraints/TempCtr.cpp +++ b/lib/src/modeling/constraints/TempCtr.cpp @@ -1,9 +1,9 @@ // // Created by henri on 08/09/22. // -#include "idol/modeling/constraints/TempCtr.h" -#include "idol/utils/Point.h" -#include "idol/modeling/expressions/LinExpr.h" +#include "idol/mixed-integer/modeling/constraints/TempCtr.h" +#include "idol/general/utils/Point.h" +#include "idol/mixed-integer/modeling/expressions/LinExpr.h" using namespace idol; diff --git a/lib/src/modeling/expressions/Constant.cpp b/lib/src/modeling/expressions/Constant.cpp index 7a1ed431..85b57f59 100644 --- a/lib/src/modeling/expressions/Constant.cpp +++ b/lib/src/modeling/expressions/Constant.cpp @@ -1,9 +1,9 @@ // // Created by henri on 07/09/22. // -#include "idol/modeling/expressions/Constant.h" -#include "idol/modeling/numericals.h" -#include "idol/utils/Point.h" +#include "idol/mixed-integer/modeling/expressions/Constant.h" +#include "idol/general/numericals.h" +#include "idol/general/utils/Point.h" #include idol::Constant idol::Constant::Zero; diff --git a/lib/src/modeling/expressions/operations/operators.cpp b/lib/src/modeling/expressions/operations/operators.cpp index e1b3cb56..8870b269 100644 --- a/lib/src/modeling/expressions/operations/operators.cpp +++ b/lib/src/modeling/expressions/operations/operators.cpp @@ -1,8 +1,8 @@ // // Created by henri on 16.10.23. // -#include "idol/modeling//expressions/operations/operators.h" -#include "idol/utils/Point.h" +#include "idol/mixed-integer/modeling/expressions/operations/operators.h" +#include "idol/general/utils/Point.h" double idol::evaluate(const Expr& t_expr, const PrimalPoint& t_values) { diff --git a/lib/src/modeling/expressions/operations/operators_Constant.cpp b/lib/src/modeling/expressions/operations/operators_Constant.cpp index fb6b1098..ddf02834 100644 --- a/lib/src/modeling/expressions/operations/operators_Constant.cpp +++ b/lib/src/modeling/expressions/operations/operators_Constant.cpp @@ -1,7 +1,7 @@ // // Created by henri on 26/10/22. // -#include "idol/modeling/expressions/operations/operators_Constant.h" +#include "idol/mixed-integer/modeling/expressions/operations/operators_Constant.h" using namespace idol; diff --git a/lib/src/modeling/expressions/operations/operators_Ctr.cpp b/lib/src/modeling/expressions/operations/operators_Ctr.cpp index 76e59393..dc17e74d 100644 --- a/lib/src/modeling/expressions/operations/operators_Ctr.cpp +++ b/lib/src/modeling/expressions/operations/operators_Ctr.cpp @@ -2,7 +2,7 @@ // Created by henri on 26/10/22. // -#include "idol/modeling/expressions/operations/operators_Ctr.h" +#include "idol/mixed-integer/modeling/expressions/operations/operators_Ctr.h" using namespace idol; diff --git a/lib/src/modeling/expressions/operations/operators_Var.cpp b/lib/src/modeling/expressions/operations/operators_Var.cpp index 43d53770..3c18fbbc 100644 --- a/lib/src/modeling/expressions/operations/operators_Var.cpp +++ b/lib/src/modeling/expressions/operations/operators_Var.cpp @@ -1,7 +1,7 @@ // // Created by henri on 26/10/22. // -#include "idol/modeling/expressions/operations/operators_Var.h" +#include "idol/mixed-integer/modeling/expressions/operations/operators_Var.h" using namespace idol; diff --git a/lib/src/modeling/matrix/Column.cpp b/lib/src/modeling/matrix/Column.cpp index 38941b9d..fbc43753 100644 --- a/lib/src/modeling/matrix/Column.cpp +++ b/lib/src/modeling/matrix/Column.cpp @@ -1,7 +1,7 @@ // // Created by henri on 04/10/22. // -#include "idol/modeling/matrix/Column.h" -#include "idol/modeling/expressions/operations/operators_Ctr.h" +#include "idol/mixed-integer/modeling/matrix/Column.h" +#include "idol/mixed-integer/modeling/expressions/operations/operators_Ctr.h" const idol::Column idol::Column::EmptyColumn; diff --git a/lib/src/modeling/matrix/Matrix.cpp b/lib/src/modeling/matrix/Matrix.cpp index 4d009899..51d11e9a 100644 --- a/lib/src/modeling/matrix/Matrix.cpp +++ b/lib/src/modeling/matrix/Matrix.cpp @@ -2,8 +2,8 @@ // Created by henri on 04/10/22. // #include -#include "idol/modeling/matrix/Matrix.h" -#include "idol/modeling/models/Model.h" +#include "idol/mixed-integer/modeling/matrix/Matrix.h" +#include "idol/mixed-integer/modeling/models/Model.h" void idol::Matrix::add_row_to_columns(const Ctr &t_ctr) { diff --git a/lib/src/modeling/matrix/MatrixCoefficient.cpp b/lib/src/modeling/matrix/MatrixCoefficient.cpp index 60248fec..9d20080e 100644 --- a/lib/src/modeling/matrix/MatrixCoefficient.cpp +++ b/lib/src/modeling/matrix/MatrixCoefficient.cpp @@ -1,8 +1,8 @@ // // Created by henri on 07/09/22. // -#include "idol/modeling/matrix/MatrixCoefficient.h" -#include "idol/modeling/expressions/Constant.h" +#include "idol/mixed-integer/modeling/matrix/MatrixCoefficient.h" +#include "idol/mixed-integer/modeling/expressions/Constant.h" idol::MatrixCoefficient::~MatrixCoefficient() { delete m_coefficient; diff --git a/lib/src/modeling/matrix/MatrixCoefficientReference.cpp b/lib/src/modeling/matrix/MatrixCoefficientReference.cpp index fea09c3e..0c3f6f84 100644 --- a/lib/src/modeling/matrix/MatrixCoefficientReference.cpp +++ b/lib/src/modeling/matrix/MatrixCoefficientReference.cpp @@ -1,8 +1,8 @@ // // Created by henri on 08/09/22. // -#include "idol/modeling/matrix/MatrixCoefficientReference.h" -#include "idol/modeling/expressions/Constant.h" +#include "idol/mixed-integer/modeling/matrix/MatrixCoefficientReference.h" +#include "idol/mixed-integer/modeling/expressions/Constant.h" void idol::MatrixCoefficientReference::set_value(double t_coefficient) { *m_coefficient = t_coefficient; diff --git a/lib/src/modeling/matrix/Row.cpp b/lib/src/modeling/matrix/Row.cpp index efd05d28..e5e20012 100644 --- a/lib/src/modeling/matrix/Row.cpp +++ b/lib/src/modeling/matrix/Row.cpp @@ -1,9 +1,9 @@ // // Created by henri on 04/10/22. // -#include "idol/modeling/matrix/Row.h" -#include "idol/modeling/expressions/operations/operators.h" -#include "idol/utils/Point.h" +#include "idol/mixed-integer/modeling/matrix/Row.h" +#include "idol/mixed-integer/modeling/expressions/operations/operators.h" +#include "idol/general/utils/Point.h" #include diff --git a/lib/src/modeling/models/KKT.cpp b/lib/src/modeling/models/KKT.cpp index 4e698e11..e7a3d6a6 100644 --- a/lib/src/modeling/models/KKT.cpp +++ b/lib/src/modeling/models/KKT.cpp @@ -2,8 +2,8 @@ // Created by henri on 30.08.24. // -#include "idol/modeling/models/KKT.h" -#include "idol/modeling/expressions/operations/operators.h" +#include "idol/mixed-integer/modeling/models/KKT.h" +#include "idol/mixed-integer/modeling/expressions/operations/operators.h" idol::Reformulators::KKT::KKT(const idol::Model &t_src_model, const idol::Bilevel::LowerLevelDescription &t_lower_level_description) diff --git a/lib/src/modeling/models/Model.cpp b/lib/src/modeling/models/Model.cpp index 5428f2cd..e9816322 100644 --- a/lib/src/modeling/models/Model.cpp +++ b/lib/src/modeling/models/Model.cpp @@ -1,8 +1,8 @@ // // Created by henri on 27/01/23. // -#include "idol/modeling//models/Model.h" -#include "idol/modeling//objects/Env.h" +#include "idol/mixed-integer/modeling/models/Model.h" +#include "idol/mixed-integer/modeling/objects/Env.h" idol::Model::Model(Env &t_env) : m_env(t_env), m_id(t_env.create_model_id()) {} diff --git a/lib/src/modeling/numericals.cpp b/lib/src/modeling/numericals.cpp deleted file mode 100644 index 6070373e..00000000 --- a/lib/src/modeling/numericals.cpp +++ /dev/null @@ -1,4 +0,0 @@ -// -// Created by henri on 17.08.23. -// -#include "idol/modeling//numericals.h" diff --git a/lib/src/modeling/objects/Env.cpp b/lib/src/modeling/objects/Env.cpp index 6ba10a06..827c691b 100644 --- a/lib/src/modeling/objects/Env.cpp +++ b/lib/src/modeling/objects/Env.cpp @@ -1,8 +1,8 @@ // // Created by henri on 27/01/23. // -#include "idol/modeling//objects/Env.h" -#include "idol/modeling//models/Model.h" +#include "idol/mixed-integer/modeling/objects/Env.h" +#include "idol/mixed-integer/modeling/models/Model.h" void idol::impl::Env::free_model_id(const Model &t_model) { m_model_ids.free(t_model.id()); diff --git a/lib/src/modeling/variables/Var.cpp b/lib/src/modeling/variables/Var.cpp index e24facd4..e54a5df4 100644 --- a/lib/src/modeling/variables/Var.cpp +++ b/lib/src/modeling/variables/Var.cpp @@ -1,8 +1,8 @@ // // Created by henri on 30/01/23. // -#include "idol/modeling//variables/Var.h" -#include "idol/modeling//objects/Env.h" +#include "idol/mixed-integer/modeling/variables/Var.h" +#include "idol/mixed-integer/modeling/objects/Env.h" idol::Var::Var(Env &t_env, double t_lb, double t_ub, VarType t_type, Column &&t_column, std::string t_name) : Object(t_env.create_var(std::move(t_name), TempVar(t_lb, t_ub, t_type, std::move(t_column)))) { diff --git a/lib/src/optimizers/Algorithm.cpp b/lib/src/optimizers/Algorithm.cpp index 9cbd56bb..7f60af5c 100644 --- a/lib/src/optimizers/Algorithm.cpp +++ b/lib/src/optimizers/Algorithm.cpp @@ -1,7 +1,7 @@ // // Created by henri on 01/02/23. // -#include "idol/optimizers/Algorithm.h" +#include "idol/general/optimizers/Algorithm.h" idol::Algorithm::Algorithm(const Model &t_model) : Optimizer(t_model) { diff --git a/lib/src/optimizers/Optimizer.cpp b/lib/src/optimizers/Optimizer.cpp index f1b4e82f..6912996f 100644 --- a/lib/src/optimizers/Optimizer.cpp +++ b/lib/src/optimizers/Optimizer.cpp @@ -1,8 +1,8 @@ // // Created by henri on 31/01/23. // -#include "idol/optimizers/Optimizer.h" -#include "idol/modeling//models/Model.h" +#include "idol/general/optimizers/Optimizer.h" +#include "idol/mixed-integer/modeling/models/Model.h" idol::impl::Optimizer::Optimizer(const Model &t_parent) : m_parent(t_parent) { diff --git a/lib/src/optimizers/Timer.cpp b/lib/src/optimizers/Timer.cpp index 936c7d54..fe571e28 100644 --- a/lib/src/optimizers/Timer.cpp +++ b/lib/src/optimizers/Timer.cpp @@ -1,7 +1,7 @@ // // Created by henri on 10/10/22. // -#include "idol/optimizers/Timer.h" +#include "idol/general/optimizers/Timer.h" #include void idol::Timer::start() { diff --git a/lib/src/optimizers/bilevel-optimization/wrappers/MibS/MibS.cpp b/lib/src/optimizers/bilevel-optimization/wrappers/MibS/MibS.cpp index baf3798b..450426c0 100644 --- a/lib/src/optimizers/bilevel-optimization/wrappers/MibS/MibS.cpp +++ b/lib/src/optimizers/bilevel-optimization/wrappers/MibS/MibS.cpp @@ -2,10 +2,10 @@ // Created by henri on 01.02.24. // -#include "idol/optimizers/bilevel-optimization/wrappers/MibS/MibS.h" +#include "idol/bilevel/optimizers/wrappers/MibS/MibS.h" #include -#include "idol/optimizers/bilevel-optimization/wrappers/MibS/Optimizers_MibS.h" +#include "idol/bilevel/optimizers/wrappers/MibS/Optimizers_MibS.h" #ifdef IDOL_USE_CPLEX #include diff --git a/lib/src/optimizers/bilevel-optimization/wrappers/MibS/Optimizers_MibS.cpp b/lib/src/optimizers/bilevel-optimization/wrappers/MibS/Optimizers_MibS.cpp index 041bdef9..43cc4948 100644 --- a/lib/src/optimizers/bilevel-optimization/wrappers/MibS/Optimizers_MibS.cpp +++ b/lib/src/optimizers/bilevel-optimization/wrappers/MibS/Optimizers_MibS.cpp @@ -3,9 +3,9 @@ // #ifdef IDOL_USE_MIBS -#include "idol/optimizers/bilevel-optimization/wrappers/MibS/Optimizers_MibS.h" -#include "idol/optimizers/bilevel-optimization/wrappers/MibS/impl_MibSFromAPI.h" -#include "idol/optimizers/bilevel-optimization/wrappers/MibS/impl_MibSFromFile.h" +#include "idol/bilevel/optimizers/wrappers/MibS/Optimizers_MibS.h" +#include "idol/bilevel/optimizers/wrappers/MibS/impl_MibSFromAPI.h" +#include "idol/bilevel/optimizers/wrappers/MibS/impl_MibSFromFile.h" #include diff --git a/lib/src/optimizers/bilevel-optimization/wrappers/MibS/impl_MibSFromAPI.cpp b/lib/src/optimizers/bilevel-optimization/wrappers/MibS/impl_MibSFromAPI.cpp index 24e4ecab..38642f7c 100644 --- a/lib/src/optimizers/bilevel-optimization/wrappers/MibS/impl_MibSFromAPI.cpp +++ b/lib/src/optimizers/bilevel-optimization/wrappers/MibS/impl_MibSFromAPI.cpp @@ -4,11 +4,11 @@ #ifdef IDOL_USE_MIBS -#include "idol/optimizers/bilevel-optimization/wrappers/MibS/impl_MibSFromAPI.h" -#include "idol/modeling/objects/Versions.h" -#include "idol/utils/SilentMode.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.h" -#include "idol/optimizers/bilevel-optimization/wrappers/MibS/MibSCallbackI.h" +#include "idol/bilevel/optimizers/wrappers/MibS/impl_MibSFromAPI.h" +#include "idol/mixed-integer/modeling/objects/Versions.h" +#include "idol/general/utils/SilentMode.h" +#include "idol/mixed-integer/optimizers/wrappers/Gurobi/Gurobi.h" +#include "idol/bilevel/optimizers/wrappers/MibS/MibSCallbackI.h" #include #include diff --git a/lib/src/optimizers/bilevel-optimization/wrappers/MibS/impl_MibSFromFile.cpp b/lib/src/optimizers/bilevel-optimization/wrappers/MibS/impl_MibSFromFile.cpp index 6a76f02f..7a2e6058 100644 --- a/lib/src/optimizers/bilevel-optimization/wrappers/MibS/impl_MibSFromFile.cpp +++ b/lib/src/optimizers/bilevel-optimization/wrappers/MibS/impl_MibSFromFile.cpp @@ -10,11 +10,11 @@ #include #include #include -#include "idol/optimizers/bilevel-optimization/wrappers/MibS/impl_MibSFromFile.h" -#include "idol/modeling/bilevel-optimization/write_to_file.h" -#include "idol/utils/Finally.h" -#include "idol/utils/SilentMode.h" -#include "idol/utils/uuid.h" +#include "idol/bilevel/optimizers/wrappers/MibS/impl_MibSFromFile.h" +#include "idol/bilevel/modeling/write_to_file.h" +#include "idol/general/utils/Finally.h" +#include "idol/general/utils/SilentMode.h" +#include "idol/general/utils/uuid.h" #ifdef _WIN32 #define DEV_NULL "NUL" diff --git a/lib/src/optimizers/logs.cpp b/lib/src/optimizers/logs.cpp index 34815fa9..208e5b98 100644 --- a/lib/src/optimizers/logs.cpp +++ b/lib/src/optimizers/logs.cpp @@ -1,7 +1,7 @@ // // Created by henri on 09.11.23. // -#include "idol/optimizers/logs.h" +#include "idol/general/optimizers/logs.h" #include std::ostream& idol::center(std::ostream& t_os, const std::string& t_string, unsigned int t_width, char t_fill) { diff --git a/lib/src/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/StrongBranching.cpp b/lib/src/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/StrongBranching.cpp index 44184219..0a4e074e 100644 --- a/lib/src/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/StrongBranching.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/StrongBranching.cpp @@ -1,7 +1,7 @@ // // Created by henri on 18.10.23. // -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/StrongBranching.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/StrongBranching.h" idol::StrongBranching &idol::StrongBranching::with_max_n_variables(unsigned int t_n_variables) { diff --git a/lib/src/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/StrongBranchingPhase.cpp b/lib/src/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/StrongBranchingPhase.cpp index 7de86c89..a28e1d7a 100644 --- a/lib/src/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/StrongBranchingPhase.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/StrongBranchingPhase.cpp @@ -1,7 +1,7 @@ // // Created by henri on 18.10.23. // -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/impls/strong-branching/StrongBranchingPhase.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/impls/strong-branching/StrongBranchingPhase.h" idol::StrongBranchingPhase::StrongBranchingPhase(const StrongBranchingPhaseType &t_phase_type, unsigned int t_max_n_variables, diff --git a/lib/src/optimizers/mixed-integer-optimization/branch-and-bound/nodes/DefaultNodeInfo.cpp b/lib/src/optimizers/mixed-integer-optimization/branch-and-bound/nodes/DefaultNodeInfo.cpp index 842fddca..3267a22f 100644 --- a/lib/src/optimizers/mixed-integer-optimization/branch-and-bound/nodes/DefaultNodeInfo.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/branch-and-bound/nodes/DefaultNodeInfo.cpp @@ -1,9 +1,9 @@ // // Created by henri on 18.10.23. // -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/DefaultNodeInfo.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/Optimizers_BranchAndBound.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/nodes/DefaultNodeUpdator.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/nodes/DefaultNodeInfo.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/Optimizers_BranchAndBound.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/nodes/DefaultNodeUpdator.h" idol::DefaultNodeUpdator * idol::DefaultNodeInfo::create_updator(idol::Model &t_relaxation) { diff --git a/lib/src/optimizers/mixed-integer-optimization/callbacks/Callback.cpp b/lib/src/optimizers/mixed-integer-optimization/callbacks/Callback.cpp index cb2c7662..47a6e46f 100644 --- a/lib/src/optimizers/mixed-integer-optimization/callbacks/Callback.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/callbacks/Callback.cpp @@ -1,8 +1,8 @@ // // Created by henri on 12/04/23. // -#include "idol/optimizers/mixed-integer-optimization/callbacks/Callback.h" -#include "idol/optimizers/Timer.h" +#include "idol/mixed-integer/optimizers/callbacks/Callback.h" +#include "idol/general/optimizers/Timer.h" void idol::Callback::add_user_cut(const TempCtr &t_cut) { throw_if_no_interface(); diff --git a/lib/src/optimizers/mixed-integer-optimization/callbacks/CutSeparation.cpp b/lib/src/optimizers/mixed-integer-optimization/callbacks/CutSeparation.cpp index 20122889..12f65b57 100644 --- a/lib/src/optimizers/mixed-integer-optimization/callbacks/CutSeparation.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/callbacks/CutSeparation.cpp @@ -2,8 +2,8 @@ // Created by henri on 11/04/23. // -#include "idol/optimizers/mixed-integer-optimization/callbacks/cutting-planes/CutSeparation.h" -#include "idol/modeling//expressions/operations/operators.h" +#include "idol/mixed-integer/optimizers/callbacks/cutting-planes/CutSeparation.h" +#include "idol/mixed-integer/modeling/expressions/operations/operators.h" idol::impl::CutSeparation::CutSeparation(CallbackEvent t_triggering_event, Model *t_separation_problem, diff --git a/lib/src/optimizers/mixed-integer-optimization/callbacks/heuristics/LocalBranching.cpp b/lib/src/optimizers/mixed-integer-optimization/callbacks/heuristics/LocalBranching.cpp index d68c1b87..1e39c440 100644 --- a/lib/src/optimizers/mixed-integer-optimization/callbacks/heuristics/LocalBranching.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/callbacks/heuristics/LocalBranching.cpp @@ -1,9 +1,9 @@ // // Created by henri on 16.10.23. // -#include "idol/optimizers/mixed-integer-optimization/callbacks/heuristics/LocalBranching.h" -#include "idol/modeling//models/Model.h" -#include "idol/modeling//expressions/operations/operators.h" +#include "idol/mixed-integer/optimizers/callbacks/heuristics/LocalBranching.h" +#include "idol/mixed-integer/modeling/models/Model.h" +#include "idol/mixed-integer/modeling/expressions/operations/operators.h" idol::Heuristics::LocalBranching::LocalBranching(const LocalBranching& t_src) : m_optimizer_factory(t_src.m_optimizer_factory->clone()), diff --git a/lib/src/optimizers/mixed-integer-optimization/callbacks/heuristics/RENS.cpp b/lib/src/optimizers/mixed-integer-optimization/callbacks/heuristics/RENS.cpp index 07b7a201..e59db8b5 100644 --- a/lib/src/optimizers/mixed-integer-optimization/callbacks/heuristics/RENS.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/callbacks/heuristics/RENS.cpp @@ -1,8 +1,8 @@ // // Created by henri on 16.10.23. // -#include "idol/optimizers/mixed-integer-optimization/callbacks/heuristics/RENS.h" -#include "idol/modeling//models/Model.h" +#include "idol/mixed-integer/optimizers/callbacks/heuristics/RENS.h" +#include "idol/mixed-integer/modeling/models/Model.h" idol::Heuristics::RENS::RENS(const RENS& t_src) : m_optimizer_factory(t_src.m_optimizer_factory->clone()), diff --git a/lib/src/optimizers/mixed-integer-optimization/callbacks/heuristics/SimpleRounding.cpp b/lib/src/optimizers/mixed-integer-optimization/callbacks/heuristics/SimpleRounding.cpp index 0a882688..a2f514fe 100644 --- a/lib/src/optimizers/mixed-integer-optimization/callbacks/heuristics/SimpleRounding.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/callbacks/heuristics/SimpleRounding.cpp @@ -1,9 +1,9 @@ // // Created by henri on 16.10.23. // -#include "idol/optimizers/mixed-integer-optimization/callbacks/heuristics/SimpleRounding.h" -#include "idol/modeling//models/Model.h" -#include "idol/modeling//expressions/operations/operators.h" +#include "idol/mixed-integer/optimizers/callbacks/heuristics/SimpleRounding.h" +#include "idol/mixed-integer/modeling/models/Model.h" +#include "idol/mixed-integer/modeling/expressions/operations/operators.h" void idol::Heuristics::SimpleRounding::Strategy::operator()(CallbackEvent t_event) { diff --git a/lib/src/optimizers/mixed-integer-optimization/callbacks/watchers/PlotManager.cpp b/lib/src/optimizers/mixed-integer-optimization/callbacks/watchers/PlotManager.cpp index b878565a..d3620083 100644 --- a/lib/src/optimizers/mixed-integer-optimization/callbacks/watchers/PlotManager.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/callbacks/watchers/PlotManager.cpp @@ -1,7 +1,7 @@ // // Created by henri on 22.10.24. // -#include "idol/optimizers/mixed-integer-optimization/callbacks/watchers/PlotManager.h" +#include "idol/mixed-integer/optimizers/callbacks/watchers/PlotManager.h" #ifdef IDOL_USE_ROOT #include diff --git a/lib/src/optimizers/mixed-integer-optimization/callbacks/watchers/Plots_OptimalityGap.cpp b/lib/src/optimizers/mixed-integer-optimization/callbacks/watchers/Plots_OptimalityGap.cpp index 47b92538..c5e5c946 100644 --- a/lib/src/optimizers/mixed-integer-optimization/callbacks/watchers/Plots_OptimalityGap.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/callbacks/watchers/Plots_OptimalityGap.cpp @@ -1,8 +1,8 @@ // // Created by henri on 23.10.24. // -#include "idol/optimizers/mixed-integer-optimization/callbacks/watchers/Plots_OptimalityGap.h" -#include "idol/optimizers/Timer.h" +#include "idol/mixed-integer/optimizers/callbacks/watchers/Plots_OptimalityGap.h" +#include "idol/general/optimizers/Timer.h" #ifdef IDOL_USE_ROOT #include diff --git a/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/ColumnGeneration.cpp b/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/ColumnGeneration.cpp index c9e93575..fe265dc4 100644 --- a/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/ColumnGeneration.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/ColumnGeneration.cpp @@ -1,7 +1,7 @@ // // Created by henri on 31.10.23. // -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/ColumnGeneration.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/ColumnGeneration.h" idol::Optimizers::DantzigWolfeDecomposition::ColumnGeneration::ColumnGeneration(DantzigWolfeDecomposition &t_parent, bool t_use_farkas_for_infeasibility, diff --git a/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/DantzigWolfeDecomposition.cpp b/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/DantzigWolfeDecomposition.cpp index e00852c0..7415d86d 100644 --- a/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/DantzigWolfeDecomposition.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/DantzigWolfeDecomposition.cpp @@ -4,12 +4,12 @@ #include #include -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/DantzigWolfeDecomposition.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/Formulation.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/Optimizers_DantzigWolfeDecomposition.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/FarkasPricing.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/stabilization/NoStabilization.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/logs/Info.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/DantzigWolfeDecomposition.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/Formulation.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/Optimizers_DantzigWolfeDecomposition.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/infeasibility-strategies/FarkasPricing.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/stabilization/NoStabilization.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/logs/Info.h" idol::DantzigWolfeDecomposition *idol::DantzigWolfeDecomposition::clone() const { return new DantzigWolfeDecomposition(*this); diff --git a/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/Formulation.cpp b/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/Formulation.cpp index d94b475d..770bfdae 100644 --- a/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/Formulation.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/Formulation.cpp @@ -3,9 +3,9 @@ // #include -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/Formulation.h" -#include "idol/modeling/objects/Env.h" -#include "idol/modeling/expressions/operations/operators.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/Formulation.h" +#include "idol/mixed-integer/modeling/objects/Env.h" +#include "idol/mixed-integer/modeling/expressions/operations/operators.h" idol::DantzigWolfe::Formulation::Formulation(const idol::Model &t_original_formulation, idol::Annotation t_ctr_decomposition, diff --git a/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/Optimizers_DantzigWolfeDecomposition.cpp b/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/Optimizers_DantzigWolfeDecomposition.cpp index 769cd135..86aaabaf 100644 --- a/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/Optimizers_DantzigWolfeDecomposition.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/Optimizers_DantzigWolfeDecomposition.cpp @@ -1,8 +1,8 @@ // // Created by henri on 31.10.23. // -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/Optimizers_DantzigWolfeDecomposition.h" -#include "idol/modeling/objects/Versions.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/Optimizers_DantzigWolfeDecomposition.h" +#include "idol/mixed-integer/modeling/objects/Versions.h" idol::Optimizers::DantzigWolfeDecomposition::DantzigWolfeDecomposition(const Model& t_model, idol::DantzigWolfe::Formulation &&t_formulation, diff --git a/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/SubProblem.cpp b/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/SubProblem.cpp index d08b1464..55147e03 100644 --- a/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/SubProblem.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/SubProblem.cpp @@ -1,7 +1,7 @@ // // Created by henri on 31.10.23. // -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/SubProblem.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/SubProblem.h" idol::DantzigWolfe::SubProblem &idol::DantzigWolfe::SubProblem::with_multiplicities(double t_lower, double t_upper) { diff --git a/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/ArtificialCosts.cpp b/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/ArtificialCosts.cpp index 17aeef5b..b19595b3 100644 --- a/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/ArtificialCosts.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/ArtificialCosts.cpp @@ -1,8 +1,8 @@ // // Created by henri on 01.11.23. // -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/ArtificialCosts.h" -#include "idol/modeling/expressions/operations/operators.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/infeasibility-strategies/ArtificialCosts.h" +#include "idol/mixed-integer/modeling/expressions/operations/operators.h" idol::DantzigWolfe::ArtificialCosts::Strategy::Strategy(double t_initial_costs, double t_update_factor, diff --git a/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/DantzigWolfeInfeasibilityStrategy.cpp b/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/DantzigWolfeInfeasibilityStrategy.cpp index 847a4d57..ee68ff40 100644 --- a/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/DantzigWolfeInfeasibilityStrategy.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/DantzigWolfeInfeasibilityStrategy.cpp @@ -1,7 +1,7 @@ // // Created by henri on 31.10.23. // -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/DantzigWolfeInfeasibilityStrategy.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/infeasibility-strategies/DantzigWolfeInfeasibilityStrategy.h" const idol::PrimalPoint &idol::DantzigWolfe::InfeasibilityStrategyFactory::Strategy::primal_solution() const { diff --git a/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/FarkasPricing.cpp b/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/FarkasPricing.cpp index 6455dd50..de4fd539 100644 --- a/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/FarkasPricing.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/FarkasPricing.cpp @@ -1,8 +1,8 @@ // // Created by henri on 31.10.23. // -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/FarkasPricing.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/ColumnGeneration.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/infeasibility-strategies/FarkasPricing.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/ColumnGeneration.h" void idol::DantzigWolfe::FarkasPricing::Strategy::execute(Optimizers::DantzigWolfeDecomposition &t_parent) { diff --git a/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/logs/Info.cpp b/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/logs/Info.cpp index 0074a5fc..ba67eef9 100644 --- a/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/logs/Info.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/dantzig-wolfe/logs/Info.cpp @@ -1,8 +1,8 @@ // // Created by henri on 06.11.23. // -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/logs/Info.h" -#include "idol/optimizers/logs.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/logs/Info.h" +#include "idol/general/optimizers/logs.h" #define DOUBLE_PRECISION 5 diff --git a/lib/src/optimizers/mixed-integer-optimization/padm/Formulation.cpp b/lib/src/optimizers/mixed-integer-optimization/padm/Formulation.cpp index 8fd8b3da..73974f3d 100644 --- a/lib/src/optimizers/mixed-integer-optimization/padm/Formulation.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/padm/Formulation.cpp @@ -2,10 +2,10 @@ // Created by henri on 18.09.24. // -#include "idol/optimizers/mixed-integer-optimization/padm/Formulation.h" -#include "idol/modeling/objects/Versions.h" -#include "idol/modeling/expressions/operations/operators.h" -#include "idol/optimizers/mixed-integer-optimization/padm/PenaltyUpdates.h" +#include "idol/mixed-integer/optimizers/padm/Formulation.h" +#include "idol/mixed-integer/modeling/objects/Versions.h" +#include "idol/mixed-integer/modeling/expressions/operations/operators.h" +#include "idol/mixed-integer/optimizers/padm/PenaltyUpdates.h" #include diff --git a/lib/src/optimizers/mixed-integer-optimization/padm/Optimizers_PADM.cpp b/lib/src/optimizers/mixed-integer-optimization/padm/Optimizers_PADM.cpp index 0def49ae..486851e1 100644 --- a/lib/src/optimizers/mixed-integer-optimization/padm/Optimizers_PADM.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/padm/Optimizers_PADM.cpp @@ -2,8 +2,8 @@ // Created by henri on 18.09.24. // -#include "idol/optimizers/mixed-integer-optimization/padm/Optimizers_PADM.h" -#include "idol/optimizers/logs.h" +#include "idol/mixed-integer/optimizers/padm/Optimizers_PADM.h" +#include "idol/general/optimizers/logs.h" #include #include diff --git a/lib/src/optimizers/mixed-integer-optimization/padm/PADM.cpp b/lib/src/optimizers/mixed-integer-optimization/padm/PADM.cpp index 11692f6d..06f8788a 100644 --- a/lib/src/optimizers/mixed-integer-optimization/padm/PADM.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/padm/PADM.cpp @@ -2,10 +2,10 @@ // Created by henri on 18.09.24. // -#include "idol/optimizers/mixed-integer-optimization/padm/PADM.h" +#include "idol/mixed-integer/optimizers/padm/PADM.h" #include -#include "idol/optimizers/mixed-integer-optimization/padm/Optimizers_PADM.h" +#include "idol/mixed-integer/optimizers/padm/Optimizers_PADM.h" idol::PADM::PADM(idol::Annotation t_decomposition) : m_decomposition(std::move(t_decomposition)) { diff --git a/lib/src/optimizers/mixed-integer-optimization/padm/PenaltyMethod.cpp b/lib/src/optimizers/mixed-integer-optimization/padm/PenaltyMethod.cpp index dab76faf..73123cf2 100644 --- a/lib/src/optimizers/mixed-integer-optimization/padm/PenaltyMethod.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/padm/PenaltyMethod.cpp @@ -2,7 +2,7 @@ // Created by henri on 19.09.24. // -#include "idol/optimizers/mixed-integer-optimization/padm/PenaltyMethod.h" +#include "idol/mixed-integer/optimizers/padm/PenaltyMethod.h" #include diff --git a/lib/src/optimizers/mixed-integer-optimization/padm/PenaltyUpdates.cpp b/lib/src/optimizers/mixed-integer-optimization/padm/PenaltyUpdates.cpp index ebcfb01e..bd03951e 100644 --- a/lib/src/optimizers/mixed-integer-optimization/padm/PenaltyUpdates.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/padm/PenaltyUpdates.cpp @@ -2,7 +2,7 @@ // Created by henri on 19.09.24. // -#include "idol/optimizers/mixed-integer-optimization/padm/PenaltyUpdates.h" +#include "idol/mixed-integer/optimizers/padm/PenaltyUpdates.h" void idol::PenaltyUpdate::operator()(std::list &t_current_penalties) { diff --git a/lib/src/optimizers/mixed-integer-optimization/padm/SubProblem.cpp b/lib/src/optimizers/mixed-integer-optimization/padm/SubProblem.cpp index 73b7db75..88df80d4 100644 --- a/lib/src/optimizers/mixed-integer-optimization/padm/SubProblem.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/padm/SubProblem.cpp @@ -2,7 +2,7 @@ // Created by henri on 18.09.24. // -#include "idol/optimizers/mixed-integer-optimization/padm/SubProblem.h" +#include "idol/mixed-integer/optimizers/padm/SubProblem.h" idol::ADM::SubProblem &idol::ADM::SubProblem::with_optimizer(const idol::OptimizerFactory &t_optimizer_factory) { diff --git a/lib/src/optimizers/mixed-integer-optimization/wrappers/GLPK/GLPK.cpp b/lib/src/optimizers/mixed-integer-optimization/wrappers/GLPK/GLPK.cpp index 03294e04..58b9d0b4 100644 --- a/lib/src/optimizers/mixed-integer-optimization/wrappers/GLPK/GLPK.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/wrappers/GLPK/GLPK.cpp @@ -1,9 +1,9 @@ // // Created by henri on 27/03/23. // -#include "idol/optimizers/mixed-integer-optimization/wrappers/GLPK/GLPK.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/GLPK/Optimizers_GLPK.h" -#include "idol/errors/Exception.h" +#include "idol/mixed-integer/optimizers/wrappers/GLPK/GLPK.h" +#include "idol/mixed-integer/optimizers/wrappers/GLPK/Optimizers_GLPK.h" +#include "idol/general/utils/exceptions/Exception.h" idol::Optimizer *idol::GLPK::operator()(const Model &t_model) const { #ifdef IDOL_USE_GLPK diff --git a/lib/src/optimizers/mixed-integer-optimization/wrappers/GLPK/Optimizers_GLPK.cpp b/lib/src/optimizers/mixed-integer-optimization/wrappers/GLPK/Optimizers_GLPK.cpp index a15d1b00..1468e145 100644 --- a/lib/src/optimizers/mixed-integer-optimization/wrappers/GLPK/Optimizers_GLPK.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/wrappers/GLPK/Optimizers_GLPK.cpp @@ -1,10 +1,10 @@ // // Created by henri on 14/02/23. // -#include "idol/optimizers/mixed-integer-optimization/wrappers/GLPK/Optimizers_GLPK.h" -#include "idol/optimizers/Algorithm.h" -#include "idol/modeling/expressions/operations/operators.h" -#include "idol/utils/Finally.h" +#include "idol/mixed-integer/optimizers/wrappers/GLPK/Optimizers_GLPK.h" +#include "idol/general/optimizers/Algorithm.h" +#include "idol/mixed-integer/modeling/expressions/operations/operators.h" +#include "idol/general/utils/Finally.h" #ifdef IDOL_USE_GLPK diff --git a/lib/src/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.cpp b/lib/src/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.cpp index bacb5927..95e43208 100644 --- a/lib/src/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.cpp @@ -1,9 +1,9 @@ // // Created by henri on 27/03/23. // -#include "idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Optimizers_Gurobi.h" -#include "idol/errors/Exception.h" +#include "idol/mixed-integer/optimizers/wrappers/Gurobi/Gurobi.h" +#include "idol/mixed-integer/optimizers/wrappers/Gurobi/Optimizers_Gurobi.h" +#include "idol/general/utils/exceptions/Exception.h" idol::Optimizer *idol::Gurobi::operator()(const Model &t_model) const { #ifdef IDOL_USE_GUROBI diff --git a/lib/src/optimizers/mixed-integer-optimization/wrappers/Gurobi/GurobiCallbackI.cpp b/lib/src/optimizers/mixed-integer-optimization/wrappers/Gurobi/GurobiCallbackI.cpp index 5e2f3b6f..e57a284a 100644 --- a/lib/src/optimizers/mixed-integer-optimization/wrappers/Gurobi/GurobiCallbackI.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/wrappers/Gurobi/GurobiCallbackI.cpp @@ -4,8 +4,8 @@ #ifdef IDOL_USE_GUROBI -#include "idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/GurobiCallbackI.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Optimizers_Gurobi.h" +#include "idol/mixed-integer/optimizers/wrappers/Gurobi/GurobiCallbackI.h" +#include "idol/mixed-integer/optimizers/wrappers/Gurobi/Optimizers_Gurobi.h" idol::GurobiCallbackI::GurobiCallbackI(Optimizers::Gurobi &t_parent) : m_parent(t_parent) { diff --git a/lib/src/optimizers/mixed-integer-optimization/wrappers/Gurobi/Optimizers_Gurobi.cpp b/lib/src/optimizers/mixed-integer-optimization/wrappers/Gurobi/Optimizers_Gurobi.cpp index 3f5544ae..5121c490 100644 --- a/lib/src/optimizers/mixed-integer-optimization/wrappers/Gurobi/Optimizers_Gurobi.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/wrappers/Gurobi/Optimizers_Gurobi.cpp @@ -3,8 +3,8 @@ // #ifdef IDOL_USE_GUROBI -#include "idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Optimizers_Gurobi.h" -#include "idol/modeling/expressions/operations/operators.h" +#include "idol/mixed-integer/optimizers/wrappers/Gurobi/Optimizers_Gurobi.h" +#include "idol/mixed-integer/modeling/expressions/operations/operators.h" #define GUROBI_CATCH(cmd) \ try { \ diff --git a/lib/src/optimizers/mixed-integer-optimization/wrappers/HiGHS/HiGHS.cpp b/lib/src/optimizers/mixed-integer-optimization/wrappers/HiGHS/HiGHS.cpp index ddeb8e50..313e5cef 100644 --- a/lib/src/optimizers/mixed-integer-optimization/wrappers/HiGHS/HiGHS.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/wrappers/HiGHS/HiGHS.cpp @@ -1,9 +1,9 @@ // // Created by henri on 27/03/23. // -#include "idol/optimizers/mixed-integer-optimization/wrappers/HiGHS/HiGHS.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/HiGHS/Optimizers_HiGHS.h" -#include "idol/errors/Exception.h" +#include "idol/mixed-integer/optimizers/wrappers/HiGHS/HiGHS.h" +#include "idol/mixed-integer/optimizers/wrappers/HiGHS/Optimizers_HiGHS.h" +#include "idol/general/utils/exceptions/Exception.h" idol::Optimizer *idol::HiGHS::operator()(const Model &t_model) const { #ifdef IDOL_USE_HIGHS diff --git a/lib/src/optimizers/mixed-integer-optimization/wrappers/HiGHS/Optimizers_HiGHS.cpp b/lib/src/optimizers/mixed-integer-optimization/wrappers/HiGHS/Optimizers_HiGHS.cpp index c98ae562..c668f981 100644 --- a/lib/src/optimizers/mixed-integer-optimization/wrappers/HiGHS/Optimizers_HiGHS.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/wrappers/HiGHS/Optimizers_HiGHS.cpp @@ -2,8 +2,8 @@ // Created by henri on 14/02/23. // #include -#include "idol/optimizers/mixed-integer-optimization/wrappers/HiGHS/Optimizers_HiGHS.h" -#include "idol/optimizers/Algorithm.h" +#include "idol/mixed-integer/optimizers/wrappers/HiGHS/Optimizers_HiGHS.h" +#include "idol/general/optimizers/Algorithm.h" #ifdef IDOL_USE_HIGHS diff --git a/lib/src/optimizers/mixed-integer-optimization/wrappers/Mosek/Mosek.cpp b/lib/src/optimizers/mixed-integer-optimization/wrappers/Mosek/Mosek.cpp index aece816f..1896aa6a 100644 --- a/lib/src/optimizers/mixed-integer-optimization/wrappers/Mosek/Mosek.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/wrappers/Mosek/Mosek.cpp @@ -1,9 +1,9 @@ // // Created by henri on 27/03/23. // -#include "idol/optimizers/mixed-integer-optimization/wrappers/Mosek/Mosek.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/Mosek/Optimizers_Mosek.h" -#include "idol/errors/Exception.h" +#include "idol/mixed-integer/optimizers/wrappers/Mosek/Mosek.h" +#include "idol/mixed-integer/optimizers/wrappers/Mosek/Optimizers_Mosek.h" +#include "idol/general/utils/exceptions/Exception.h" idol::Optimizer *idol::Mosek::operator()(const Model &t_model) const { #ifdef IDOL_USE_MOSEK diff --git a/lib/src/optimizers/mixed-integer-optimization/wrappers/Mosek/MosekCallbackI.cpp b/lib/src/optimizers/mixed-integer-optimization/wrappers/Mosek/MosekCallbackI.cpp index 88176c85..374a073d 100644 --- a/lib/src/optimizers/mixed-integer-optimization/wrappers/Mosek/MosekCallbackI.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/wrappers/Mosek/MosekCallbackI.cpp @@ -1,8 +1,8 @@ // // Created by henri on 19.06.24. // -#include "idol/optimizers/mixed-integer-optimization/wrappers/Mosek/MosekCallbackI.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/Mosek/Optimizers_Mosek.h" +#include "idol/mixed-integer/optimizers/wrappers/Mosek/MosekCallbackI.h" +#include "idol/mixed-integer/optimizers/wrappers/Mosek/Optimizers_Mosek.h" #ifdef IDOL_USE_MOSEK diff --git a/lib/src/optimizers/mixed-integer-optimization/wrappers/Mosek/Optimizers_Mosek.cpp b/lib/src/optimizers/mixed-integer-optimization/wrappers/Mosek/Optimizers_Mosek.cpp index 4451a3eb..16c7b447 100644 --- a/lib/src/optimizers/mixed-integer-optimization/wrappers/Mosek/Optimizers_Mosek.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/wrappers/Mosek/Optimizers_Mosek.cpp @@ -1,8 +1,8 @@ #ifdef IDOL_USE_MOSEK -#include "idol/optimizers/mixed-integer-optimization/wrappers/Mosek/Optimizers_Mosek.h" -#include "idol/linear-algebra/to_rotated_quadratic_cone.h" -#include "idol/modeling//expressions/operations/operators.h" +#include "idol/mixed-integer/optimizers/wrappers/Mosek/Optimizers_Mosek.h" +#include "idol/general/linear-algebra/to_rotated_quadratic_cone.h" +#include "idol/mixed-integer/modeling/expressions/operations/operators.h" #ifdef IDOL_USE_EIGEN #include diff --git a/lib/src/optimizers/mixed-integer-optimization/wrappers/Osi/Optimizers_Osi.cpp b/lib/src/optimizers/mixed-integer-optimization/wrappers/Osi/Optimizers_Osi.cpp index bb9192b9..e45bae25 100644 --- a/lib/src/optimizers/mixed-integer-optimization/wrappers/Osi/Optimizers_Osi.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/wrappers/Osi/Optimizers_Osi.cpp @@ -4,7 +4,7 @@ #ifdef IDOL_USE_OSI -#include "idol/optimizers/mixed-integer-optimization/wrappers/Osi/Optimizers_Osi.h" +#include "idol/mixed-integer/optimizers/wrappers/Osi/Optimizers_Osi.h" #include "CoinPackedVector.hpp" idol::Optimizers::Osi::Osi(const idol::Model &t_model, diff --git a/lib/src/optimizers/mixed-integer-optimization/wrappers/Osi/Osi.cpp b/lib/src/optimizers/mixed-integer-optimization/wrappers/Osi/Osi.cpp index 0ebd50b2..00e9bc79 100644 --- a/lib/src/optimizers/mixed-integer-optimization/wrappers/Osi/Osi.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/wrappers/Osi/Osi.cpp @@ -2,8 +2,8 @@ // Created by henri on 05.02.24. // -#include "idol/optimizers/mixed-integer-optimization/wrappers/Osi/Osi.h" -#include "idol/optimizers/mixed-integer-optimization/wrappers/Osi/Optimizers_Osi.h" +#include "idol/mixed-integer/optimizers/wrappers/Osi/Osi.h" +#include "idol/mixed-integer/optimizers/wrappers/Osi/Optimizers_Osi.h" idol::Osi::Osi(const OsiSolverInterface &t_solver_interface) : m_solver_interface(t_solver_interface.clone()) { diff --git a/lib/src/optimizers/mixed-integer-optimization/wrappers/Osi/OsiIdolSolverInterface.cpp b/lib/src/optimizers/mixed-integer-optimization/wrappers/Osi/OsiIdolSolverInterface.cpp index 588e80c0..c7fb9696 100644 --- a/lib/src/optimizers/mixed-integer-optimization/wrappers/Osi/OsiIdolSolverInterface.cpp +++ b/lib/src/optimizers/mixed-integer-optimization/wrappers/Osi/OsiIdolSolverInterface.cpp @@ -8,8 +8,8 @@ #include #include #include -#include "idol/optimizers/mixed-integer-optimization/wrappers/Osi/OsiIdolSolverInterface.h" -#include "idol/modeling/expressions/operations/operators.h" +#include "idol/mixed-integer/optimizers/wrappers/Osi/OsiIdolSolverInterface.h" +#include "idol/mixed-integer/modeling/expressions/operations/operators.h" #define OSI_IDOL_DEBUG std::cout << __FUNCTION__ << std::endl; diff --git a/lib/src/problems/facility-location-problem/FLP_Instance.cpp b/lib/src/problems/facility-location-problem/FLP_Instance.cpp index 447ea133..5f447b6c 100644 --- a/lib/src/problems/facility-location-problem/FLP_Instance.cpp +++ b/lib/src/problems/facility-location-problem/FLP_Instance.cpp @@ -2,10 +2,10 @@ // Created by henri on 03/11/22. // -#include "idol/problems/facility-location-problem/FLP_Instance.h" -#include "idol/errors/Exception.h" -#include "idol/problems/helpers/parse_delimited.h" -#include "idol/problems/helpers/distances.h" +#include "idol/mixed-integer/problems/facility-location-problem/FLP_Instance.h" +#include "idol/general/utils/exceptions/Exception.h" +#include "idol/mixed-integer/problems/helpers/parse_delimited.h" +#include "idol/mixed-integer/problems/helpers/distances.h" #include idol::Problems::FLP::Instance::Instance(unsigned int t_n_facilities, unsigned int t_n_customers) diff --git a/lib/src/problems/generalized-assignment-problem/GAP_Instance.cpp b/lib/src/problems/generalized-assignment-problem/GAP_Instance.cpp index 53a73257..51860c2d 100644 --- a/lib/src/problems/generalized-assignment-problem/GAP_Instance.cpp +++ b/lib/src/problems/generalized-assignment-problem/GAP_Instance.cpp @@ -1,7 +1,7 @@ // // Created by henri on 12/10/22. // -#include "idol/problems/generalized-assignment-problem/GAP_Instance.h" +#include "idol/mixed-integer/problems/generalized-assignment-problem/GAP_Instance.h" #include #include #include diff --git a/lib/src/problems/knapsack-problem/KP_Instance.cpp b/lib/src/problems/knapsack-problem/KP_Instance.cpp index 23392e4c..b2093cc3 100644 --- a/lib/src/problems/knapsack-problem/KP_Instance.cpp +++ b/lib/src/problems/knapsack-problem/KP_Instance.cpp @@ -1,7 +1,7 @@ // // Created by henri on 12/10/22. // -#include "idol/problems/knapsack-problem/KP_Instance.h" +#include "idol/mixed-integer/problems/knapsack-problem/KP_Instance.h" #include #include diff --git a/lib/src/problems/multiple-knapsack-problem/MKP_Instance.cpp b/lib/src/problems/multiple-knapsack-problem/MKP_Instance.cpp index 9f65cf47..6dcde0dd 100644 --- a/lib/src/problems/multiple-knapsack-problem/MKP_Instance.cpp +++ b/lib/src/problems/multiple-knapsack-problem/MKP_Instance.cpp @@ -1,7 +1,7 @@ // // Created by henri on 12/10/22. // -#include "idol/problems/multiple-knapsack-problem/MKP_Instance.h" +#include "idol/mixed-integer/problems/multiple-knapsack-problem/MKP_Instance.h" #include #include diff --git a/lib/src/problems/staff-rostering-problem/SRP_Instance.cpp b/lib/src/problems/staff-rostering-problem/SRP_Instance.cpp index dc053852..55a78d24 100644 --- a/lib/src/problems/staff-rostering-problem/SRP_Instance.cpp +++ b/lib/src/problems/staff-rostering-problem/SRP_Instance.cpp @@ -2,8 +2,8 @@ // Created by henri on 12.07.23. // -#include "idol/problems/staff-rostering-problem/SRP_Instance.h" -#include "idol/errors/Exception.h" +#include "idol/mixed-integer/problems/staff-rostering-problem/SRP_Instance.h" +#include "idol/general/utils/exceptions/Exception.h" #include #include diff --git a/tests/branch-and-bound/knapsack.cpp b/tests/branch-and-bound/knapsack.cpp index b3e43c60..7b8eb1df 100644 --- a/tests/branch-and-bound/knapsack.cpp +++ b/tests/branch-and-bound/knapsack.cpp @@ -4,23 +4,23 @@ #include #include "../cartesian_product.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/DepthFirst.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/BreadthFirst.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/BestBound.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/WorstBound.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/BranchAndBound.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/MostInfeasible.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/LeastInfeasible.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/UniformlyRandom.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/StrongBranching.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/PseudoCost.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/DepthFirst.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/BreadthFirst.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/BestBound.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/WorstBound.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/BranchAndBound.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/MostInfeasible.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/LeastInfeasible.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/UniformlyRandom.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/StrongBranching.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/PseudoCost.h" #include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include using namespace Catch::literals; using namespace idol; diff --git a/tests/branch-and-bound/location.cpp b/tests/branch-and-bound/location.cpp index 959637c3..c18738df 100644 --- a/tests/branch-and-bound/location.cpp +++ b/tests/branch-and-bound/location.cpp @@ -4,23 +4,23 @@ #include #include "../cartesian_product.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/DepthFirst.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/BreadthFirst.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/BestBound.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/WorstBound.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/BranchAndBound.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/MostInfeasible.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/LeastInfeasible.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/UniformlyRandom.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/StrongBranching.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/PseudoCost.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/DepthFirst.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/BreadthFirst.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/BestBound.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/WorstBound.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/BranchAndBound.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/MostInfeasible.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/LeastInfeasible.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/UniformlyRandom.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/StrongBranching.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/PseudoCost.h" #include #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include using namespace Catch::literals; using namespace idol; diff --git a/tests/branch-and-price/assignment.cpp b/tests/branch-and-price/assignment.cpp index b91c4c80..83f7da34 100644 --- a/tests/branch-and-price/assignment.cpp +++ b/tests/branch-and-price/assignment.cpp @@ -4,21 +4,21 @@ #include #include "../cartesian_product.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/node-selection-rules/factories/BestBound.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/BranchAndBound.h" -#include "idol/optimizers/mixed-integer-optimization/branch-and-bound/branching-rules/factories/MostInfeasible.h" -#include "idol/optimizers/mixed-integer-optimization/callbacks/heuristics/IntegerMaster.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/DantzigWolfeDecomposition.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/FarkasPricing.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/stabilization/Neame.h" -#include "idol/optimizers/mixed-integer-optimization/dantzig-wolfe/infeasibility-strategies/ArtificialCosts.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/node-selection-rules/factories/BestBound.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/BranchAndBound.h" +#include "idol/mixed-integer/optimizers/branch-and-bound/branching-rules/factories/MostInfeasible.h" +#include "idol/mixed-integer/optimizers/callbacks/heuristics/IntegerMaster.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/DantzigWolfeDecomposition.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/infeasibility-strategies/FarkasPricing.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/stabilization/Neame.h" +#include "idol/mixed-integer/optimizers/dantzig-wolfe/infeasibility-strategies/ArtificialCosts.h" #include #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include using namespace Catch::literals; using namespace idol; diff --git a/tests/wrappers/Gurobi/Gurobi.create-constraint-with-backend.cpp b/tests/wrappers/Gurobi/Gurobi.create-constraint-with-backend.cpp index b99564be..62ffc952 100644 --- a/tests/wrappers/Gurobi/Gurobi.create-constraint-with-backend.cpp +++ b/tests/wrappers/Gurobi/Gurobi.create-constraint-with-backend.cpp @@ -1,7 +1,7 @@ // // Created by henri on 31/01/23. // -#include "idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.h" +#include "idol/mixed-integer/optimizers/wrappers/Gurobi/Gurobi.h" #include #include diff --git a/tests/wrappers/Gurobi/Gurobi.create-constraint-without-backend.cpp b/tests/wrappers/Gurobi/Gurobi.create-constraint-without-backend.cpp index b45b571f..9d9eac39 100644 --- a/tests/wrappers/Gurobi/Gurobi.create-constraint-without-backend.cpp +++ b/tests/wrappers/Gurobi/Gurobi.create-constraint-without-backend.cpp @@ -1,7 +1,7 @@ // // Created by henri on 31/01/23. // -#include "idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.h" +#include "idol/mixed-integer/optimizers/wrappers/Gurobi/Gurobi.h" #include #include diff --git a/tests/wrappers/Gurobi/Gurobi.create-variable-and-constraint-with-backend.cpp b/tests/wrappers/Gurobi/Gurobi.create-variable-and-constraint-with-backend.cpp index ccb0729a..1e77dbb0 100644 --- a/tests/wrappers/Gurobi/Gurobi.create-variable-and-constraint-with-backend.cpp +++ b/tests/wrappers/Gurobi/Gurobi.create-variable-and-constraint-with-backend.cpp @@ -2,7 +2,7 @@ // Created by henri on 31/01/23. // -#include "idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.h" +#include "idol/mixed-integer/optimizers/wrappers/Gurobi/Gurobi.h" #include #include diff --git a/tests/wrappers/Gurobi/Gurobi.create-variable-with-backend.cpp b/tests/wrappers/Gurobi/Gurobi.create-variable-with-backend.cpp index 222f76cd..c39a86e7 100644 --- a/tests/wrappers/Gurobi/Gurobi.create-variable-with-backend.cpp +++ b/tests/wrappers/Gurobi/Gurobi.create-variable-with-backend.cpp @@ -2,7 +2,7 @@ // Created by henri on 31/01/23. // -#include "idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.h" +#include "idol/mixed-integer/optimizers/wrappers/Gurobi/Gurobi.h" #include #include diff --git a/tests/wrappers/Gurobi/Gurobi.create-variable-without-backend.cpp b/tests/wrappers/Gurobi/Gurobi.create-variable-without-backend.cpp index 179277fb..f9cb68dd 100644 --- a/tests/wrappers/Gurobi/Gurobi.create-variable-without-backend.cpp +++ b/tests/wrappers/Gurobi/Gurobi.create-variable-without-backend.cpp @@ -2,7 +2,7 @@ // Created by henri on 31/01/23. // -#include "idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.h" +#include "idol/mixed-integer/optimizers/wrappers/Gurobi/Gurobi.h" #include #include diff --git a/tests/wrappers/Gurobi/Gurobi.update-constraint-with-backend.cpp b/tests/wrappers/Gurobi/Gurobi.update-constraint-with-backend.cpp index 92decbae..2f60393a 100644 --- a/tests/wrappers/Gurobi/Gurobi.update-constraint-with-backend.cpp +++ b/tests/wrappers/Gurobi/Gurobi.update-constraint-with-backend.cpp @@ -2,7 +2,7 @@ // Created by henri on 31/01/23. // -#include "idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.h" +#include "idol/mixed-integer/optimizers/wrappers/Gurobi/Gurobi.h" #include #include diff --git a/tests/wrappers/Gurobi/Gurobi.update-objective-with-backend.cpp b/tests/wrappers/Gurobi/Gurobi.update-objective-with-backend.cpp index d098f96a..634e62e2 100644 --- a/tests/wrappers/Gurobi/Gurobi.update-objective-with-backend.cpp +++ b/tests/wrappers/Gurobi/Gurobi.update-objective-with-backend.cpp @@ -2,7 +2,7 @@ // Created by henri on 01/02/23. // -#include "idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.h" +#include "idol/mixed-integer/optimizers/wrappers/Gurobi/Gurobi.h" #include #include diff --git a/tests/wrappers/Gurobi/Gurobi.update-variable-with-backend.cpp b/tests/wrappers/Gurobi/Gurobi.update-variable-with-backend.cpp index 372ef4a6..3b48eeee 100644 --- a/tests/wrappers/Gurobi/Gurobi.update-variable-with-backend.cpp +++ b/tests/wrappers/Gurobi/Gurobi.update-variable-with-backend.cpp @@ -2,7 +2,7 @@ // Created by henri on 31/01/23. // -#include "idol/optimizers/mixed-integer-optimization/wrappers/Gurobi/Gurobi.h" +#include "idol/mixed-integer/optimizers/wrappers/Gurobi/Gurobi.h" #include #include diff --git a/tests/wrappers/all/toy_lp.cpp b/tests/wrappers/all/toy_lp.cpp index b4986ff0..46d7ceb9 100644 --- a/tests/wrappers/all/toy_lp.cpp +++ b/tests/wrappers/all/toy_lp.cpp @@ -3,11 +3,11 @@ // #include #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include using namespace Catch::literals; using namespace idol; diff --git a/tests/wrappers/all/toy_milp.cpp b/tests/wrappers/all/toy_milp.cpp index 1443bc75..16acb1c5 100644 --- a/tests/wrappers/all/toy_milp.cpp +++ b/tests/wrappers/all/toy_milp.cpp @@ -3,11 +3,11 @@ // #include #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include using namespace Catch::literals; using namespace idol;