Closed stumarcus314 closed 1 year ago
@stumarcus314
Thank you for your question. I would like to respond as follows based on the specifications of the v2.2.0, the latest version.
Does the Lagrange dual method work for nonlinear integer programming problems?
No. The Lagrange dual method works only for integer linear programming problems. Also, even if the problem is linear and the Lagrange dual method is enabled, it will be skipped if either or both of the Selection or Dependent variables are extracted.
Does PRINTEMPS PDLP compute a corrected dual objective, as does OR-Tools PDLP? The corrected dual objective is a feasible lower bound. https://developers.google.com/optimization/lp/pdlp_math#dual
No. PRINTEMPS compute the dual objective value according to the definition of the dual problem, which is shown in the right part of equation (1) in the original paper. However, the objective function $q^{\top}y +l^{\top}\lambda^{+} - u^{\top}\lambda^{-}$ shown in the original paper is incorrect and $q^{\top}y +l^{\top}\lambda^{+} + u^{\top}\lambda^{-}$ seems correct. PRINTEMPS uses the latter definition to compute the dual objective function values.
The new PDLP options do not appear in the Solver Option Guide. >https://snowberryfield.github.io/printemps/contents/solver_option_guide.html
Is PDLP used as an alternative method to the Lagrange dual search to find a lower bound?
As you mentioned, I incorporated PDLP for finding a lower bound as well as Lagrange dual method. However, as of now, PRINTEMPS does not provide PDLP as an official feature and hence is not detailed in the documentation.
Another major reason for incorporating PDLP is to utilize the dual variables obtained from solving the relaxation problem to improve the tabu search. Unfortunately, I have not yet found an effective way to exploit them, and I am currently working on it. I would like to provide PDLP as an official feature when I obtain good results.
If you have any additional questions, please don't hesitate to ask.
Is there a reference describing the Lagrange dual method?
Is PDLP applied after the Lagrange dual method to obtain a tighter lower bound?
Regarding the formula for the dual objective, \lambda = -(\lambda^-) if \lambda < 0. That is, \lambda^- \equiv - \lambda if \lambda < 0. So I believe the formula in the paper is correct.
Is PDLP parallelized with multiple threads?
Where does the name PRINTEMPS come from?
Is there a reference describing the Lagrange dual method?
The implemented Lagrange dual methods is based on subgradient method, which is detailed in https://my.ece.utah.edu/~kalla/phy_des/lagrange-relax-tutorial-fisher.pdf for example. Whereas there exist some rules to determine the step size for the subgradient, my implementation adopts an original adaptive rule that increases or decreases the step size according to recent Lagrangian values, but it has not been published.
Is PDLP applied after the Lagrange dual method to obtain a tighter lower bound?
No. In the current version, PDLP and the Lagrange dual method are independent each other and the order to run them is fixed as PDLP -> Lagrange dual methods if both of them are enabled. This order was determined based on the fact that the optimal value of the Lagrange dual is generally tighter than the optimal value of the LP relaxation.
Of course, If the dual bound obtained by Lagrange dual method is tighter than that of PDLP, the dual bound will be updated.
Regarding the formula for the dual objective, \lambda = -(\lambda^-) if \lambda < 0. That is, \lambda^- \equiv - \lambda if \lambda < 0. So I believe the formula in the paper is correct.
As for the formulation described in https://developers.google.com/optimization/lp/pdlp_math#dual, the definition of $\lambda^{-}$ is as you have indicated, and I believe it is correct. But in the original paper, $\lambda{i}^{-}$ is defined as $\lambda{i}^{-} = \min(0, \lambda{i})$, while the website adopts the definition of $\lambda{i}^{-} = -\min(0, \lambda{i})$. Considering the definitions of $\lambda{i}^{+}$ and $\lambda_{i}^{-}$ in the paper, we may have the dual problem whose objective function is $q^{\top}y +l^{\top}\lambda^{+} + u^{\top}\lambda^{-}$. If there is anything I have missed, I would be glad to know.
Is PDLP parallelized with multiple threads?
Partially yes. My implementation of PDLP is parallelized with OpenMP. I believe that further speed-up by SIMD is possible, but a SIMD implementation that can maintain portability is difficult for me and has not yet been achieved.
Where does the name PRINTEMPS come from?
PRINTEMPS is derived from PoRtable INTEger Mathematical Programming Solver.
After PDLP converges to the prescribed error tolerance, a feasible lower bound is obtained by evaluating the corrected dual objective, which is computed by evaluating the dual objective (defined here: https://developers.google.com/optimization/lp/pdlp_math#dual) at $(y , r=c-A^T y)$, where $y$ is the dual solution and $r = c-A^T y$ are the reduced costs.
I don't know exactly why, but evaluating the dual objective $q^{\top}y +l^{\top}\lambda^{+} - u^{\top}\lambda^{-}$ (using the website definitions) will not necessarily provide a feasible lower bound. It may have to do with the fact that $q^{\top}y +l^{\top}\lambda^{+} - u^{\top}\lambda^{-}$ is a feasible lower bound only if all the constraints in Eq. (1) of the paper are satisfied.
Thank you for detail investigation. I've checked Julia implementation developed by the authors of PDLP again. In following, I adopt the notation of the papers, namely, the dual solutions corresponding to the variables' lower and upper bounds are denoted by $\lambda$, and the inequality constraints are denoted by $c - K^{\top}y = \lambda$.
In the Julia implementation, the dual objective is modified to $-\infty$ (for minimization problems) if $\lambda \neq c - K^{\top}y$, which is reasonable because $\lambda \neq c - K^{\top}y$ indicates dual infeasibility thus we have no dual bound for this case.
According to section 4.1 of the paper, the dual solution $\lambda$ can be computed by $\lambda = \mathrm{prox}(c - K^{\top}y)$. Considering the range of $\lambda$, we can simply compute $\lambda = c - K^{\top}y$ holds if all variables are bounded, but it probably does not hold generally for instances with unbounded variables.
In summary, if all variables are bounded, the correction is not necessary, but if unbounded variables are included, correction is necessary. I will implement this treatment in future version of PRINTEMPS.
Thank you for pointing this out.
Miles Lubin, one of the authors of the PDLP paper, says that the website is correct and that the paper has a typo regarding the defintion of $\lambda^-$.
PDLP evaluates the corrected dual objective when all the primal variables have upper and lower bounds. https://github.com/google/or-tools/blob/1ba0177af58264f61019dc3d917c534be259c558/ortools/pdlp/solve_log.proto#L137
Is there an English translation of your blog https://snowberryfield.hatenadiary.com/? Google does not do a good job of translating it (e.g., your blog about Benders decomposition) to English.
Thank you for further information! I will carefully check the original paper and the authors' implementation again.
I appreciate again your interest in my blog. Unfortunately, all articles are written in only my native language, Japanese. DeepL and its chrome extension would be helpful for translating.
Julia PDLP computes the corrected dual objective: https://github.com/google-research/FirstOrderLp.jl/blob/205e0e79985a6b48add6420f242cd812e402edd0/src/iteration_stats_utils.jl#L214
Is the Lagrange dual method parallelized with multiple threads?
Is the Lagrange dual method parallelized with multiple threads?
Yes. PRINTEMPS parallelizes the Lagrange dual methods with OpenMP in updating primal (integer) solutions. In the Lagrange dual methods, we have to solve a subproblem of the form $\min_{\boldsymbol{x}} (\boldsymbol{c}+ \boldsymbol{A}^{\top} \boldsymbol{\lambda} )^{\top}\boldsymbol{x}, \textrm{s.t.} \boldsymbol{l} \le \boldsymbol{x} \le \boldsymbol{u}$. The optimal value of $\boldsymbol{x}$ can be determined by element-wise computation and thus can be parallelized.
I see selection constraints discussed in the Starter Guide. https://snowberryfield.github.io/printemps/contents/starter_guide.html#selection-constraint Are selection variables those variables defined as part of selection constraints? It sounds like your selection variables are the same as SOS1 variables: https://en.wikipedia.org/wiki/Special_ordered_set
What are dependent variables? Why can't the Lagrange dual method work for selection or dependent variables?
Are selection variables those variables defined as part of selection constraints? It sounds like your selection variables are the same as SOS1 variables: https://en.wikipedia.org/wiki/Special_ordered_set
That is basically correct. But exactly speaking, there are a few differences between SOS variables and selection variables in PRINTEMPS. According to the article in wikipedia, SOS1 variables are explained as follows:
Special Ordered Sets of type 1 (SOS1 or S1): are a set of variables, at most one of which can take a non-zero value, all others being at 0. They most frequently apply where a set of variables are actually 0-1 variables: in other words, we have to choose at most one from a set of possibilities. These might arise for instance where we are deciding on what size of factory to build, when we have a set of options, perhaps small, medium, large or no factory at all, and if we choose to build a factory, we have to choose one and only one size.
By this definition, SOS1 seems to allow the assignments that all variable take zero values, and it also seems to be no restriction on variables being binary (The second sentence seems to be not the definition of SOS1 but a use-case of it). In contrast, PRINTEMPS can consider as selection variables only binary variables that are included in a constraint of the form $\sum{i} x{i} = 1 (x_{i} \in \lbrace 0,1 \rbrace) $. Nevertheless, I imagine this form of constraints when someone mentions SOS1.
What are dependent variables?
PRINTEMPS considers $y$ to be the dependent variable given the following constraints:
$y= \sum{i} a{i}x{i} + b, l \le y \le u, \enspace (y, a{i}, b \textrm{ are all integers}).$
For this case, PRINTEMPS substitutes $\sum{i} a{i}x{i} + b$ for $y$ in the objective function and the other constraints, with adding new constraints $l \le \sum{i} a{i}x{i} + b \le u$. However, if such substitutions are naively repeated, there is a possibility of substitutions in cycles. Therefore, PRINTEMPS identifies dependent variables that can be safely substituted, by detecting cycles.
Why can't the Lagrange dual method work for selection or dependent variables?
The Lagrange dual method does mot support selection or dependent variables due to somewhat complicated design and implementation and currently low priority. Technically, however, I don't think it is particularly difficult.
Does your MPS solver perform presolve and use PDLP and the Lagrange dual method? Does your MPS solver accept SOS1 and SOS2 variables?
Have you compared PRINTEMPS to other free ILP (integer linear programming) solvers, such as OR-Tools CP-SAT? CP-SAT can accept MPS files.
Does your MPS solver perform presolve and use PDLP and the Lagrange dual method?
In default setting, my MPS solver performs presolving for given MPS files, but it runs neither PDLP nor Lagrange dual method. As for the current specification, I consider that these methods are for researches or experiments because they do not stably find a solution depending on the structure of the instance and require long computation time.
Does your MPS solver accept SOS1 and SOS2 variables?
My MPS solver accepts only standard fixed or free format MPS, and it automatically detects SOS1 constraints from a vanilla model without any annotation of SOS1 or SOS2 variables. Possibly there are MPS file extensions that specifically define SOS1 and SOS2 variables, but they are not supported.
Have you compared PRINTEMPS to other free ILP (integer linear programming) solvers, such as OR-Tools CP-SAT? CP-SAT can accept MPS files.
I have compared PRINTEMPS to B&B based open source solvers, CBC, HiGHS, and SCIP from the viewpoint of finding good feasible solutions, but I haven't published yet. Anyway, heuristics and exact solution methods have different design aims, and therefore, caution is required when discussing the results of numerical experiments. I haven't compared it to CP-SAT, but thanks to your comment I know that CP-SAT accepts MPS files and would like to give it a try.
Is it possible to enable PDLP and/or the Lagrange dual method for your MPS solver?
There is some discussion in Section H of this link about defining SOSN variables, where N is the order, in MPS files. Typically, N is 1 or 2. https://lpsolve.sourceforge.net/5.5/mps-format.htm
Is it possible to enable PDLP and/or the Lagrange dual method for your MPS solver?
Yes. The following JSON enables both of PDLP and the Lagrange dual method for given MPS files. Please note that extraction of dependent and selection variables are disabled to ensure run PDLP and the Lagrange dual method (As discussed above, they will be skipped if there are dependent or selection variables.)
{
"general": {
"iteration_max": 0,
"time_max": 1.200000e+02
},
"preprocess": {
"is_enabled_extract_dependent_exclusive_or": false,
"is_enabled_extract_dependent_exclusive_nor": false,
"is_enabled_extract_dependent_inverted_integers": false,
"is_enabled_extract_dependent_balanced_integers": false,
"is_enabled_extract_dependent_constant_sum_integers": false,
"is_enabled_extract_dependent_constant_difference_integers": false,
"is_enabled_extract_dependent_constant_ratio_integers": false,
"is_enabled_extract_dependent_intermediate": false
},
"neighborhood": {
"selection_mode": "Off"
},
"output":{
"verbose":"Full"
},
"pdlp": {
"is_enabled": true,
"iteration_max": 100000,
"time_max": 1.200000e+02,
"tolerance": 1.000000e-05,
"step_size_extend_exponent": -6.000000e-01,
"step_size_reduce_exponent": -3.000000e-01,
"restart_threshold_sufficient": 1.000000e-01,
"restart_threshold_necessary": 9.000000e-01,
"restart_threshold_artificial": 5.000000e-01,
"restart_check_interval": 10,
"convergence_check_interval": 10,
"counts_of_ruiz_scaling": 10,
"is_enabled_pock_chambolle_scaling": true,
"log_interval": 10
},
"lagrange_dual": {
"is_enabled": true,
"iteration_max": 10000,
"time_max": 1.200000e+02,
"tolerance": 1.000000e-05,
"log_interval": 10
},
"local_search": {
"is_enabled": false
}
}
To run PDLP and the Lagrange dual method, please execute the following command:
$mps_solver.exe -p option.json MPS_FILE
where option.json
is an option file which contains the JSON above, and MPS_FILE
is the path to the MPS file to be solved.
Please note that:
Does neighborhood selection_mode have to do with selection variables? Will PDLP run if selection or dependent variables are extracted?
Does neighborhood selection_mode have to do with selection variables?
Yes. The option neighborhood.selection_mode
defines the rule to detect and extract selection constraints. The value for the option have to be selected from the following ones:
(The list above is from https://snowberryfield.github.io/printemps/contents/solver_option_guide.html#neighborhood-options)
Will PDLP run if selection or dependent variables are extracted?
I'm sorry but I wrote incorrect information in the previous response. PDLP can run even if there are selection or dependent variables, but the integrality of selection variables will be ignored and continuously relaxed.
These benchmarks show that CP-SAT is almost as good as Gurobi at solving a library of constraint programming problems that have been translated into integer linear programs. https://www.minizinc.org/challenge2022/results2022.html The benchmarks will be updated again at the end of August. https://www.minizinc.org/challenge2023/challenge.html
Why did you select tabu search for PRINTEMPS rather than another metaheuristic like the genetic algorithm, simulated annealing, particle swarm optimization, GRASP, or ant colony optimization? Have you compared PRINTEMPS to MIDACO, which uses ant colony optimization? http://www.midaco-solver.com/
Thank you for sharing information on performance of CP/SAT solvers. I’m glad to know the coherent performance evaluation results since I’m a stranger of CP/SAT.
Why did you select tabu search for PRINTEMPS rather than another metaheuristic like the genetic algorithm, simulated annealing, particle swarm optimization, GRASP, or ant colony optimization?
PRINTEMPS is designed as a general-purpose solver to quickly provide approximate solutions of difficult instances that cannot be solved with branch and bound solvers. In designing the algorithm, I focused on two key factors: performance should not change sensitively to parameters, and the algorithm should have high local search performance. I consider the tabu search satisfies both of them.
On the other hand, the tabu search is not suited for searching a wide solution space, and I believe that it needs some techniques to improve the performance of finding a globally optimal solution. There is a possibility to incorporate the essence of simulated annealing and genetic algorithms to improve the diversity of search in future.
Regarding PSO, I had studied it in my master and Ph.D courses, and I consider that PSO is basically an algorithm for unconstrained black box continuous optimization problem with up to about 1000 variables, and it does not seem to be well suited for integer programming problems where tens of thousands of variables and constraints are also frequently seen .
Have you compared PRINTEMPS to MIDACO, which uses ant colony optimization? http://www.midaco-solver.com/
This is my first time to know about this solver, and I am interested in how it handles integer programming problems, since I had the impression that ACO was basically for permutation optimization problems such as TSP. I will look into it later.
Here are benchmarks comparing several B&B MILP solvers, including Gurobi, HiGHS, SCIP, and CBC. http://plato.asu.edu/bench.html
Martin Schlueter, the author of MIDACO, may be at the Information Initiative Center at Hokkaido University in Sapporo, Japan.
Have you compared PRINTEMPS to Nuorium Optimizer? https://www.msi.co.jp/english/nuopt.html
Here are benchmarks comparing several B&B MILP solvers, including Gurobi, HiGHS, SCIP, and CBC. http://plato.asu.edu/bench.html
I know the website. It's useful to check out the results of the latest solver performance. The visualization of the results https://mattmilten.github.io/mittelmann-plots/ is also helpful.
Have you compared PRINTEMPS to Nuorium Optimizer? https://www.msi.co.jp/english/nuopt.html
I use Nuorium Optimizer at work, but do not have a personal license, so I have not done a comprehensive performance comparison. Nuorium Optimizer provides two type of heuristics for integer programming problems, both of which I consider to be of practical performance:
PRINTEMPS is also based on WCSP and should exhibit similar behavior to Nuorium Optimizer's WCSP. However, Nuorium Optimizer seems to be more sophisticated.
PRINTEMPS is also the name of a French department store. Printemps is French for the season spring. https://en.wikipedia.org/wiki/Printemps https://www.printemps.com/eu/en
Thanks for answering my questions and providing supporting references. Do you have an email address?
Yes, I personally like the name PRINTEMPS because spring (printemp) is my favorite season.
Thank you for the fruitful discussion as well. My e-mail address is yuji.koguma-at-gmail.com (please replace -at- with @). I would be happy to hear from you if you have any suggestions or questions.
When PRINTEMPS solves input_red.mps using the options file (both in the attached file), where are the PDLP and Lagrange dual solutions? $ mps_solver.exe -p options.json input_red.mps input_red.tar.gz
I was able to generate and view the PDLP and Lagrange dual solutions by tweaking the options file that you provided before (which disables selection and dependent variables in order to enable the Lagrange dual method) and by writing the standard and error outputs to a text file. I called the PRINTEMPS MPS solver via: $ mps_solver.exe -p options_PDLP_LD.json input_red.mps 2>&1 | tee -a output.txt
options_PDLP_LD.json: { "general": { "iteration_max": 0, "time_max": 3600 }, "preprocess": { "is_enabled_extract_dependent_exclusive_or": false, "is_enabled_extract_dependent_exclusive_nor": false, "is_enabled_extract_dependent_inverted_integers": false, "is_enabled_extract_dependent_balanced_integers": false, "is_enabled_extract_dependent_constant_sum_integers": false, "is_enabled_extract_dependent_constant_difference_integers": false, "is_enabled_extract_dependent_constant_ratio_integers": false, "is_enabled_extract_dependent_intermediate": false }, "neighborhood": { "selection_mode": "Off" }, "output":{ "verbose":"Full" }, "pdlp": { "is_enabled": true, "iteration_max": 100000, "time_max": 1800, "tolerance": 1.000000e-03, "step_size_extend_exponent": -6.000000e-01, "step_size_reduce_exponent": -3.000000e-01, "restart_threshold_sufficient": 1.000000e-01, "restart_threshold_necessary": 9.000000e-01, "restart_threshold_artificial": 5.000000e-01, "restart_check_interval": 10, "convergence_check_interval": 10, "counts_of_ruiz_scaling": 10, "is_enabled_pock_chambolle_scaling": true, "log_interval": 10 }, "lagrange_dual": { "is_enabled": true, "iteration_max": 10000, "time_max": 1800, "tolerance": 1.000000e-05, "log_interval": 10 }, "local_search": { "is_enabled": false } }
Thank you for testing your instance. Since the instance includes variable to be extracted as selection and dependent variables, so that their extraction should be disabled as you did.
As a result of my trial, PDLP solves the LP relaxation problem quickly, whereas the Lagrange dual method fails. However, I have known that the Lagrange dual method would not work well for instances including general integer (not binary) variables.
In any case, the current version does not support to export the primal and dual solutions obtained by PDLP or the Lagrange dual method, so I apologize for not being able to meet your expectations. I will add this feature in a future version.
Also, as you may have already tried, I solved this instance with SCIP and CBC, and both of them quickly found an optimal solution with objective function value of 1.
SCIP 7.0.3
$scip -f input_red.mps
SCIP version 7.0.3 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: SoPlex 5.0.2] [GitHash: 74c11e60cd]
Copyright (C) 2002-2021 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)
External libraries:
SoPlex 5.0.2 Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: e24c304e]
CppAD 20180000.0 Algorithmic Differentiation of C++ algorithms developed by B. Bell (www.coin-or.org/CppAD)
ZLIB 1.2.11 General purpose compression library by J. Gailly and M. Adler (zlib.net)
GMP 6.2.0 GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)
ZIMPL 3.4.0 Zuse Institute Mathematical Programming Language developed by T. Koch (zimpl.zib.de)
PaPILO 1.0.2 parallel presolve for integer and linear optimization [GitHash: e567fef]
bliss 0.73p Computing Graph Automorphism Groups by T. Junttila and P. Kaski (http://www.tcs.hut.fi/Software/bliss/)
user parameter file <scip.set> not found - using default parameters
read problem <../../Downloads/input_red/input_red.mps>
============
original problem has 97667 variables (97665 bin, 2 int, 0 impl, 0 cont) and 1148 constraints
solve problem
=============
presolving:
(round 1, fast) 1 del vars, 0 del conss, 510 add conss, 0 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 510 impls, 8173 clqs
(round 2, fast) 1 del vars, 0 del conss, 510 add conss, 0 chg bounds, 16065 chg sides, 48450 chg coeffs, 0 upgd conss, 510 impls, 8173 clqs
(0.5s) running MILP presolver
(1.0s) MILP presolver found nothing
(round 3, exhaustive) 1 del vars, 0 del conss, 510 add conss, 0 chg bounds, 16065 chg sides, 48450 chg coeffs, 638 upgd conss, 510 impls, 8173 clqs
(round 4, exhaustive) 1 del vars, 223 del conss, 510 add conss, 0 chg bounds, 16288 chg sides, 48450 chg coeffs, 638 upgd conss, 510 impls, 8173 clqs
(3.7s) symmetry computation started: requiring (bin +, int -, cont +), (fixed: bin -, int +, cont -)
(6.4s) symmetry computation finished: 239 generators found (max: 655, log10 of symmetry group size: 398.1)
(round 5, exhaustive) 26 del vars, 223 del conss, 513 add conss, 0 chg bounds, 16288 chg sides, 48450 chg coeffs, 638 upgd conss, 575 impls, 8173 clqs
(round 6, fast) 26 del vars, 223 del conss, 1023 add conss, 0 chg bounds, 16288 chg sides, 48450 chg coeffs, 638 upgd conss, 575 impls, 8174 clqs
(round 7, fast) 26 del vars, 223 del conss, 1023 add conss, 0 chg bounds, 34243 chg sides, 96885 chg coeffs, 638 upgd conss, 575 impls, 8174 clqs
(round 8, exhaustive) 26 del vars, 510 del conss, 1023 add conss, 0 chg bounds, 34243 chg sides, 96885 chg coeffs, 638 upgd conss, 575 impls, 8174 clqs
(round 9, exhaustive) 26 del vars, 733 del conss, 1023 add conss, 0 chg bounds, 34466 chg sides, 96885 chg coeffs, 638 upgd conss, 575 impls, 8174 clqs
presolving (10 rounds: 10 fast, 6 medium, 6 exhaustive):
51 deleted vars, 733 deleted constraints, 1023 added constraints, 0 tightened bounds, 0 added holes, 34466 changed sides, 96885 changed coefficients
658 implications, 8174 cliques
presolved problem has 97617 variables (97616 bin, 0 int, 1 impl, 0 cont) and 1438 constraints
510 constraints of type <setppc>
797 constraints of type <linear>
3 constraints of type <orbitope>
128 constraints of type <logicor>
transformed objective value is always integral (scale: 1)
Presolving Time: 8.38
time | node | left |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr| dualbound | primalbound | gap | compl.
p34.1s| 1 | 0 | 0 | - | locks| 0 | 97k| 11k|1448 | 0 | 0 | 157k| 0 | 1.000000e+00 | 2.000000e+00 | 100.00%| unknown
i34.2s| 1 | 0 | 0 | - | oneopt| 0 | 97k| 11k|1448 | 0 | 0 | 157k| 0 | 1.000000e+00 | 1.000000e+00 | 0.00%| unknown
SCIP Status : problem is solved [optimal solution found]
Solving Time (sec) : 34.21
Solving Nodes : 1
Primal Bound : +1.00000000000000e+00 (2 solutions)
Dual Bound : +1.00000000000000e+00
Gap : 0.00 %
primal solution (original space):
=================================
objective value: 1
x130332 1 (obj:0)
x287 1 (obj:0)
x792 1 (obj:0)
x797 1 (obj:0)
x1302 1 (obj:0)
x1307 1 (obj:0)
x1812 1 (obj:0)
x1817 1 (obj:0)
x2322 1 (obj:0)
x2327 1 (obj:0)
x2832 1 (obj:0)
x2837 1 (obj:0)
x3342 1 (obj:0)
x3347 1 (obj:0)
x3852 1 (obj:0)
x3857 1 (obj:0)
x4362 1 (obj:0)
x4367 1 (obj:0)
x4872 1 (obj:0)
x4877 1 (obj:0)
x5382 1 (obj:0)
x5387 1 (obj:0)
x5892 1 (obj:0)
x5897 1 (obj:0)
x6402 1 (obj:0)
x6407 1 (obj:0)
x6912 1 (obj:0)
x6917 1 (obj:0)
x7422 1 (obj:0)
x7427 1 (obj:0)
x7932 1 (obj:0)
x7937 1 (obj:0)
x8442 1 (obj:0)
x8447 1 (obj:0)
x8952 1 (obj:0)
x8957 1 (obj:0)
x9462 1 (obj:0)
x9467 1 (obj:0)
x9972 1 (obj:0)
x9977 1 (obj:0)
x10482 1 (obj:0)
x10487 1 (obj:0)
x10992 1 (obj:0)
x10997 1 (obj:0)
x11502 1 (obj:0)
x11507 1 (obj:0)
x12012 1 (obj:0)
x12017 1 (obj:0)
x12522 1 (obj:0)
x12527 1 (obj:0)
x13032 1 (obj:0)
x13037 1 (obj:0)
x13542 1 (obj:0)
x13547 1 (obj:0)
x14052 1 (obj:0)
x14057 1 (obj:0)
x14562 1 (obj:0)
x14567 1 (obj:0)
x15072 1 (obj:0)
x15077 1 (obj:0)
x15582 1 (obj:0)
x15587 1 (obj:0)
x16092 1 (obj:0)
x16097 1 (obj:0)
x16602 1 (obj:0)
x16607 1 (obj:0)
x17112 1 (obj:0)
x17117 1 (obj:0)
x17622 1 (obj:0)
x17627 1 (obj:0)
x18132 1 (obj:0)
x18137 1 (obj:0)
x18642 1 (obj:0)
x18647 1 (obj:0)
x19152 1 (obj:0)
x19157 1 (obj:0)
x19662 1 (obj:0)
x19667 1 (obj:0)
x20172 1 (obj:0)
x20177 1 (obj:0)
x20682 1 (obj:0)
x20687 1 (obj:0)
x21192 1 (obj:0)
x21197 1 (obj:0)
x21702 1 (obj:0)
x21707 1 (obj:0)
x22212 1 (obj:0)
x22217 1 (obj:0)
x22722 1 (obj:0)
x22727 1 (obj:0)
x23232 1 (obj:0)
x23237 1 (obj:0)
x23742 1 (obj:0)
x23747 1 (obj:0)
x24252 1 (obj:0)
x24257 1 (obj:0)
x24762 1 (obj:0)
x24767 1 (obj:0)
x25272 1 (obj:0)
x25277 1 (obj:0)
x25782 1 (obj:0)
x25787 1 (obj:0)
x26292 1 (obj:0)
x26297 1 (obj:0)
x26802 1 (obj:0)
x26807 1 (obj:0)
x27312 1 (obj:0)
x27317 1 (obj:0)
x27822 1 (obj:0)
x27827 1 (obj:0)
x28332 1 (obj:0)
x28337 1 (obj:0)
x28842 1 (obj:0)
x28847 1 (obj:0)
x29352 1 (obj:0)
x29357 1 (obj:0)
x29862 1 (obj:0)
x29867 1 (obj:0)
x30372 1 (obj:0)
x30377 1 (obj:0)
x30882 1 (obj:0)
x30887 1 (obj:0)
x31392 1 (obj:0)
x31397 1 (obj:0)
x31902 1 (obj:0)
x31907 1 (obj:0)
x32412 1 (obj:0)
x32417 1 (obj:0)
x32922 1 (obj:0)
x32927 1 (obj:0)
x33432 1 (obj:0)
x33437 1 (obj:0)
x33942 1 (obj:0)
x33947 1 (obj:0)
x34452 1 (obj:0)
x34457 1 (obj:0)
x34962 1 (obj:0)
x34967 1 (obj:0)
x35472 1 (obj:0)
x35477 1 (obj:0)
x35982 1 (obj:0)
x35987 1 (obj:0)
x36492 1 (obj:0)
x36497 1 (obj:0)
x37002 1 (obj:0)
x37007 1 (obj:0)
x37512 1 (obj:0)
x37517 1 (obj:0)
x38022 1 (obj:0)
x38027 1 (obj:0)
x38532 1 (obj:0)
x38537 1 (obj:0)
x39042 1 (obj:0)
x39047 1 (obj:0)
x39552 1 (obj:0)
x39557 1 (obj:0)
x40062 1 (obj:0)
x40067 1 (obj:0)
x40572 1 (obj:0)
x40577 1 (obj:0)
x41082 1 (obj:0)
x41087 1 (obj:0)
x41592 1 (obj:0)
x41597 1 (obj:0)
x42102 1 (obj:0)
x42107 1 (obj:0)
x42612 1 (obj:0)
x42617 1 (obj:0)
x43122 1 (obj:0)
x43127 1 (obj:0)
x43632 1 (obj:0)
x43637 1 (obj:0)
x44142 1 (obj:0)
x44147 1 (obj:0)
x44652 1 (obj:0)
x44657 1 (obj:0)
x45162 1 (obj:0)
x45167 1 (obj:0)
x45672 1 (obj:0)
x45677 1 (obj:0)
x46182 1 (obj:0)
x46187 1 (obj:0)
x46692 1 (obj:0)
x46697 1 (obj:0)
x47202 1 (obj:0)
x47207 1 (obj:0)
x47712 1 (obj:0)
x47717 1 (obj:0)
x48222 1 (obj:0)
x48227 1 (obj:0)
x48732 1 (obj:0)
x48737 1 (obj:0)
x49242 1 (obj:0)
x49247 1 (obj:0)
x49752 1 (obj:0)
x49757 1 (obj:0)
x50262 1 (obj:0)
x50267 1 (obj:0)
x50772 1 (obj:0)
x50777 1 (obj:0)
x51282 1 (obj:0)
x51287 1 (obj:0)
x51792 1 (obj:0)
x51797 1 (obj:0)
x52302 1 (obj:0)
x52307 1 (obj:0)
x52812 1 (obj:0)
x52817 1 (obj:0)
x53322 1 (obj:0)
x53327 1 (obj:0)
x53832 1 (obj:0)
x53837 1 (obj:0)
x54342 1 (obj:0)
x54347 1 (obj:0)
x54852 1 (obj:0)
x54857 1 (obj:0)
x55362 1 (obj:0)
x55367 1 (obj:0)
x55872 1 (obj:0)
x55877 1 (obj:0)
x56382 1 (obj:0)
x56387 1 (obj:0)
x56892 1 (obj:0)
x56897 1 (obj:0)
x57402 1 (obj:0)
x57407 1 (obj:0)
x57912 1 (obj:0)
x57917 1 (obj:0)
x58422 1 (obj:0)
x58427 1 (obj:0)
x58932 1 (obj:0)
x58937 1 (obj:0)
x59442 1 (obj:0)
x59447 1 (obj:0)
x59952 1 (obj:0)
x59957 1 (obj:0)
x60462 1 (obj:0)
x60467 1 (obj:0)
x60972 1 (obj:0)
x60977 1 (obj:0)
x61482 1 (obj:0)
x61487 1 (obj:0)
x61992 1 (obj:0)
x61997 1 (obj:0)
x62502 1 (obj:0)
x62507 1 (obj:0)
x63012 1 (obj:0)
x63017 1 (obj:0)
x63522 1 (obj:0)
x63527 1 (obj:0)
x64032 1 (obj:0)
x64037 1 (obj:0)
x64542 1 (obj:0)
x64547 1 (obj:0)
x65052 1 (obj:0)
x65057 1 (obj:0)
x65562 1 (obj:0)
x65567 1 (obj:0)
x66072 1 (obj:0)
x66077 1 (obj:0)
x66582 1 (obj:0)
x66587 1 (obj:0)
x67092 1 (obj:0)
x67097 1 (obj:0)
x67602 1 (obj:0)
x67607 1 (obj:0)
x68112 1 (obj:0)
x68117 1 (obj:0)
x68622 1 (obj:0)
x68627 1 (obj:0)
x69132 1 (obj:0)
x69137 1 (obj:0)
x69642 1 (obj:0)
x69647 1 (obj:0)
x70152 1 (obj:0)
x70157 1 (obj:0)
x70662 1 (obj:0)
x70667 1 (obj:0)
x71172 1 (obj:0)
x71177 1 (obj:0)
x71682 1 (obj:0)
x71687 1 (obj:0)
x72192 1 (obj:0)
x72197 1 (obj:0)
x72702 1 (obj:0)
x72707 1 (obj:0)
x73212 1 (obj:0)
x73217 1 (obj:0)
x73722 1 (obj:0)
x73727 1 (obj:0)
x74232 1 (obj:0)
x74237 1 (obj:0)
x74742 1 (obj:0)
x74747 1 (obj:0)
x75252 1 (obj:0)
x75257 1 (obj:0)
x75762 1 (obj:0)
x75767 1 (obj:0)
x76272 1 (obj:0)
x76277 1 (obj:0)
x76782 1 (obj:0)
x76787 1 (obj:0)
x77292 1 (obj:0)
x77297 1 (obj:0)
x77802 1 (obj:0)
x77807 1 (obj:0)
x78312 1 (obj:0)
x78317 1 (obj:0)
x78822 1 (obj:0)
x78827 1 (obj:0)
x79332 1 (obj:0)
x79337 1 (obj:0)
x79842 1 (obj:0)
x79847 1 (obj:0)
x80352 1 (obj:0)
x80357 1 (obj:0)
x80862 1 (obj:0)
x80867 1 (obj:0)
x81372 1 (obj:0)
x81377 1 (obj:0)
x81882 1 (obj:0)
x81887 1 (obj:0)
x82392 1 (obj:0)
x82397 1 (obj:0)
x82902 1 (obj:0)
x82907 1 (obj:0)
x83412 1 (obj:0)
x83417 1 (obj:0)
x83922 1 (obj:0)
x83927 1 (obj:0)
x84432 1 (obj:0)
x84437 1 (obj:0)
x84942 1 (obj:0)
x84947 1 (obj:0)
x85452 1 (obj:0)
x85457 1 (obj:0)
x85962 1 (obj:0)
x85967 1 (obj:0)
x86472 1 (obj:0)
x86477 1 (obj:0)
x86982 1 (obj:0)
x86987 1 (obj:0)
x87492 1 (obj:0)
x87497 1 (obj:0)
x88002 1 (obj:0)
x88007 1 (obj:0)
x88512 1 (obj:0)
x88517 1 (obj:0)
x89022 1 (obj:0)
x89027 1 (obj:0)
x89532 1 (obj:0)
x89537 1 (obj:0)
x90042 1 (obj:0)
x90047 1 (obj:0)
x90552 1 (obj:0)
x90557 1 (obj:0)
x91062 1 (obj:0)
x91067 1 (obj:0)
x91572 1 (obj:0)
x91577 1 (obj:0)
x92082 1 (obj:0)
x92087 1 (obj:0)
x92592 1 (obj:0)
x92597 1 (obj:0)
x93102 1 (obj:0)
x93107 1 (obj:0)
x93612 1 (obj:0)
x93617 1 (obj:0)
x94122 1 (obj:0)
x94127 1 (obj:0)
x94632 1 (obj:0)
x94637 1 (obj:0)
x95142 1 (obj:0)
x95147 1 (obj:0)
x95652 1 (obj:0)
x95657 1 (obj:0)
x96162 1 (obj:0)
x96167 1 (obj:0)
x96672 1 (obj:0)
x96677 1 (obj:0)
x97182 1 (obj:0)
x97187 1 (obj:0)
x97692 1 (obj:0)
x97697 1 (obj:0)
x98202 1 (obj:0)
x98207 1 (obj:0)
x98712 1 (obj:0)
x98717 1 (obj:0)
x99222 1 (obj:0)
x99227 1 (obj:0)
x99732 1 (obj:0)
x99737 1 (obj:0)
x100242 1 (obj:0)
x100247 1 (obj:0)
x100752 1 (obj:0)
x100757 1 (obj:0)
x101262 1 (obj:0)
x101267 1 (obj:0)
x101772 1 (obj:0)
x101777 1 (obj:0)
x102282 1 (obj:0)
x102287 1 (obj:0)
x102792 1 (obj:0)
x102797 1 (obj:0)
x103302 1 (obj:0)
x103307 1 (obj:0)
x103812 1 (obj:0)
x103817 1 (obj:0)
x104322 1 (obj:0)
x104327 1 (obj:0)
x104832 1 (obj:0)
x104837 1 (obj:0)
x105342 1 (obj:0)
x105347 1 (obj:0)
x105852 1 (obj:0)
x105857 1 (obj:0)
x106362 1 (obj:0)
x106367 1 (obj:0)
x106872 1 (obj:0)
x106877 1 (obj:0)
x107382 1 (obj:0)
x107387 1 (obj:0)
x107892 1 (obj:0)
x107897 1 (obj:0)
x108402 1 (obj:0)
x108407 1 (obj:0)
x108912 1 (obj:0)
x108917 1 (obj:0)
x109422 1 (obj:0)
x109427 1 (obj:0)
x109932 1 (obj:0)
x109937 1 (obj:0)
x110442 1 (obj:0)
x110447 1 (obj:0)
x110952 1 (obj:0)
x110957 1 (obj:0)
x111462 1 (obj:0)
x111467 1 (obj:0)
x111972 1 (obj:0)
x111977 1 (obj:0)
x112482 1 (obj:0)
x112487 1 (obj:0)
x112992 1 (obj:0)
x112997 1 (obj:0)
x113502 1 (obj:0)
x113507 1 (obj:0)
x114012 1 (obj:0)
x114017 1 (obj:0)
x114522 1 (obj:0)
x114527 1 (obj:0)
x115032 1 (obj:0)
x115037 1 (obj:0)
x115542 1 (obj:0)
x115547 1 (obj:0)
x116052 1 (obj:0)
x116057 1 (obj:0)
x116562 1 (obj:0)
x116567 1 (obj:0)
x117072 1 (obj:0)
x117077 1 (obj:0)
x117582 1 (obj:0)
x117587 1 (obj:0)
x118092 1 (obj:0)
x118097 1 (obj:0)
x118602 1 (obj:0)
x118607 1 (obj:0)
x119112 1 (obj:0)
x119117 1 (obj:0)
x119622 1 (obj:0)
x119627 1 (obj:0)
x120132 1 (obj:0)
x120137 1 (obj:0)
x120642 1 (obj:0)
x120647 1 (obj:0)
x121152 1 (obj:0)
x121157 1 (obj:0)
x121662 1 (obj:0)
x121667 1 (obj:0)
x122172 1 (obj:0)
x122177 1 (obj:0)
x122682 1 (obj:0)
x122687 1 (obj:0)
x123192 1 (obj:0)
x123197 1 (obj:0)
x123702 1 (obj:0)
x123707 1 (obj:0)
x124212 1 (obj:0)
x124217 1 (obj:0)
x124722 1 (obj:0)
x124727 1 (obj:0)
x125232 1 (obj:0)
x125237 1 (obj:0)
x125742 1 (obj:0)
x125747 1 (obj:0)
x126252 1 (obj:0)
x126257 1 (obj:0)
x126762 1 (obj:0)
x126767 1 (obj:0)
x127272 1 (obj:0)
x127277 1 (obj:0)
x127782 1 (obj:0)
x127787 1 (obj:0)
x128292 1 (obj:0)
x128297 1 (obj:0)
x128802 1 (obj:0)
x128807 1 (obj:0)
x129312 1 (obj:0)
x129317 1 (obj:0)
x129822 1 (obj:0)
x129827 1 (obj:0)
M[2,1] 253 (obj:0)
g 1 (obj:1)
Statistics
==========
SCIP Status : problem is solved [optimal solution found]
Total Time : 34.37
solving : 34.21
presolving : 8.38 (included in solving)
reading : 0.16
copying : 0.00 (0 times copied the problem)
Original Problem :
Problem name : input_red.mps
Variables : 97667 (97665 binary, 2 integer, 0 implicit integer, 0 continuous)
Constraints : 1148 initial, 1148 maximal
Objective : minimize, 1 non-zeros (abs.min = 1, abs.max = 1)
Presolved Problem :
Problem name : t_input_red.mps
Variables : 97617 (97616 binary, 0 integer, 1 implicit integer, 0 continuous)
Constraints : 1438 initial, 11452 maximal
Objective : minimize, 1 non-zeros (abs.min = 1, abs.max = 1)
Nonzeros : 276656 constraint, 400946 clique table
Presolvers : ExecTime SetupTime Calls FixedVars AggrVars ChgTypes ChgBounds AddHoles DelCons AddCons ChgSides ChgCoefs
boundshift : 0.00 0.00 0 0 0 0 0 0 0 0 0 0
convertinttobin : 0.00 0.00 0 0 0 0 0 0 0 0 0 0
domcol : 0.03 0.00 2 0 0 0 0 0 0 0 0 0
dualagg : 0.00 0.00 0 0 0 0 0 0 0 0 0 0
dualcomp : 0.00 0.00 0 0 0 0 0 0 0 0 0 0
dualinfer : 0.00 0.00 0 0 0 0 0 0 0 0 0 0
dualsparsify : 0.04 0.00 1 0 0 0 0 0 0 0 0 0
gateextraction : 0.00 0.00 5 0 0 0 0 0 0 0 0 0
implics : 0.01 0.00 6 0 0 0 0 0 0 0 0 0
inttobinary : 0.00 0.00 1 0 1 1 0 0 0 0 0 0
milp : 0.65 0.00 1 0 0 0 0 0 0 0 0 0
qpkktref : 0.00 0.00 0 0 0 0 0 0 0 0 0 0
redvub : 0.00 0.00 0 0 0 0 0 0 0 0 0 0
sparsify : 0.41 0.00 1 0 0 0 0 0 0 0 0 0
stuffing : 0.00 0.00 0 0 0 0 0 0 0 0 0 0
trivial : 0.03 0.00 10 0 0 0 0 0 0 0 0 0
tworowbnd : 0.00 0.00 0 0 0 0 0 0 0 0 0 0
dualfix : 0.03 0.00 10 0 0 0 0 0 0 0 0 0
genvbounds : 0.00 0.00 0 0 0 0 0 0 0 0 0 0
probing : 2.79 0.00 2 50 0 0 0 0 0 0 0 0
pseudoobj : 0.00 0.00 0 0 0 0 0 0 0 0 0 0
symmetry : 2.80 0.00 1 0 0 0 0 0 0 3 0 0
vbounds : 0.01 0.00 1 0 0 0 0 0 0 0 0 0
setppc : 0.20 0.00 17 0 0 0 0 0 0 0 0 0
linear : 1.20 0.02 16 0 0 0 0 0 733 1020 34466 96885
orbitope : 0.00 0.00 3 0 0 0 0 0 0 0 0 0
logicor : 0.00 0.00 14 0 0 0 0 0 0 0 0 0
bounddisjunction : 0.00 0.00 0 0 0 0 0 0 0 0 0 0
benders : 0.00 0.00 0 0 0 0 0 0 0 0 0 0
components : 0.05 0.00 1 0 0 0 0 0 0 0 0 0
root node : - - - 4024 - - 4024 - - - - -
Constraints : Number MaxNumber #Separate #Propagate #EnfoLP #EnfoRelax #EnfoPS #Check #ResProp Cutoffs DomReds Cuts Applied Conss Children
benderslp : 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0
integral : 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0
setppc : 510+ 527 0 126966 0 0 0 5 23920671 1 0 0 0 0 0
linear : 797+ 810 0 126964 0 0 0 2 251423 63030 0 0 0 0 0
orbitope : 3 3 0 63800 0 0 0 2 0 0 0 0 0 0 0
logicor : 128+ 4099 0 54770 0 0 0 2 0 0 0 0 0 0 0
bounddisjunction : 0+ 6017 0 62970 0 0 0 0 0 0 0 0 0 0 0
benders : 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0
countsols : 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0
components : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Constraint Timings : TotalTime SetupTime Separate Propagate EnfoLP EnfoPS EnfoRelax Check ResProp SB-Prop
benderslp : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
integral : 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.00
setppc : 3.14 0.00 0.01 1.82 0.00 0.00 0.00 0.00 1.31 0.00
linear : 9.94 0.02 0.01 8.58 0.00 0.00 0.00 0.00 1.33 0.00
orbitope : 0.01 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00
logicor : 0.03 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00
bounddisjunction : 0.05 0.00 0.00 0.05 0.00 0.00 0.00 0.00 0.00 0.00
benders : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
countsols : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
components : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Propagators : #Propagate #ResProp Cutoffs DomReds
dualfix : 1 0 0 0
genvbounds : 0 0 0 0
nlobbt : 0 0 0 0
obbt : 0 0 0 0
probing : 0 0 0 0
pseudoobj : 1 0 0 0
redcost : 0 0 0 0
rootredcost : 0 0 0 0
symmetry : 0 0 0 0
vbounds : 8357 0 0 0
Propagator Timings : TotalTime SetupTime Presolve Propagate ResProp SB-Prop
dualfix : 0.03 0.00 0.03 0.00 0.00 0.00
genvbounds : 0.01 0.00 0.00 0.01 0.00 0.00
nlobbt : 0.00 0.00 0.00 0.00 0.00 0.00
obbt : 0.00 0.00 0.00 0.00 0.00 0.00
probing : 2.79 0.00 2.79 0.00 0.00 0.00
pseudoobj : 0.13 0.00 0.00 0.13 0.00 0.00
redcost : 0.01 0.00 0.00 0.01 0.00 0.00
rootredcost : 0.01 0.00 0.00 0.01 0.00 0.00
symmetry : 2.81 0.00 2.80 0.00 0.00 0.00
vbounds : 0.04 0.00 0.01 0.03 0.00 0.00
Orbital fixing :
vars fixed to 0 : 0
vars fixed to 1 : 0
Conflict Analysis : Time Calls Success DomReds Conflicts Literals Reconvs ReconvLits Dualrays Nonzeros LP Iters (pool size: [10000,10000])
propagation : 6.90 62970 62970 - 125940 111.7 31578 2.0 - - -
infeasible LP : 0.00 0 0 - 0 0.0 0 0.0 0 0.0 0
bound exceed. LP : 0.00 0 0 - 0 0.0 0 0.0 0 0.0 0
strong branching : 0.00 0 0 - 0 0.0 0 0.0 - - 0
pseudo solution : 0.00 0 0 - 0 0.0 0 0.0 - - -
applied globally : 2.33 - - 0 157518 86.2 - - 0 - -
applied locally : - - - 0 0 0.0 - - 0 - -
Separators : ExecTime SetupTime Calls Cutoffs DomReds Cuts Applied Conss
cut pool : 0.00 0 - - 0 - - (maximal pool size: 0)
aggregation : 0.00 0.00 0 0 0 0 0 0
cgmip : 0.00 0.00 0 0 0 0 0 0
clique : 0.00 0.00 0 0 0 0 0 0
closecuts : 0.00 0.00 0 0 0 0 0 0
cmir : 0.00 0.00 0 0 0 0 0 0
convexproj : 0.00 0.00 0 0 0 0 0 0
disjunctive : 0.00 0.00 0 0 0 0 0 0
eccuts : 0.00 0.00 0 0 0 0 0 0
flowcover : 0.00 0.00 0 0 0 0 0 0
gauge : 0.00 0.00 0 0 0 0 0 0
gomory : 0.00 0.00 0 0 0 0 0 0
impliedbounds : 0.00 0.00 0 0 0 0 0 0
intobj : 0.00 0.00 0 0 0 0 0 0
mcf : 0.00 0.00 0 0 0 0 0 0
oddcycle : 0.00 0.00 0 0 0 0 0 0
rapidlearning : 0.00 0.00 0 0 0 0 0 0
strongcg : 0.00 0.00 0 0 0 0 0 0
zerohalf : 0.00 0.00 0 0 0 0 0 0
Pricers : ExecTime SetupTime Calls Vars
problem variables: 0.00 - 0 0
Branching Rules : ExecTime SetupTime BranchLP BranchExt BranchPS Cutoffs DomReds Cuts Conss Children
allfullstrong : 0.00 0.00 0 0 0 0 0 0 0 0
cloud : 0.00 0.00 0 0 0 0 0 0 0 0
distribution : 0.00 0.00 0 0 0 0 0 0 0 0
fullstrong : 0.00 0.00 0 0 0 0 0 0 0 0
inference : 0.00 0.00 0 0 0 0 0 0 0 0
leastinf : 0.00 0.00 0 0 0 0 0 0 0 0
lookahead : 0.00 0.00 0 0 0 0 0 0 0 0
mostinf : 0.00 0.00 0 0 0 0 0 0 0 0
multaggr : 0.00 0.00 0 0 0 0 0 0 0 0
nodereopt : 0.00 0.00 0 0 0 0 0 0 0 0
pscost : 0.00 0.00 0 0 0 0 0 0 0 0
random : 0.00 0.00 0 0 0 0 0 0 0 0
relpscost : 0.00 0.00 0 0 0 0 0 0 0 0
vanillafullstrong: 0.00 0.00 0 0 0 0 0 0 0 0
Primal Heuristics : ExecTime SetupTime Calls Found Best
LP solutions : 0.00 - - 0 0
relax solutions : 0.00 - - 0 0
pseudo solutions : 0.00 - - 0 0
strong branching : 0.00 - - 0 0
actconsdiving : 0.00 0.00 0 0 0
adaptivediving : 0.00 0.00 0 0 0
alns : 0.00 0.00 0 0 0
bound : 0.00 0.00 0 0 0
clique : 0.13 0.00 1 0 0
coefdiving : 0.00 0.00 0 0 0
completesol : 0.00 0.00 0 0 0
conflictdiving : 0.00 0.00 0 0 0
crossover : 0.00 0.00 0 0 0
dins : 0.00 0.00 0 0 0
distributiondivin: 0.00 0.00 0 0 0
dualval : 0.00 0.00 0 0 0
farkasdiving : 0.00 0.00 0 0 0
feaspump : 0.00 0.00 0 0 0
fixandinfer : 0.00 0.00 0 0 0
fracdiving : 0.00 0.00 0 0 0
gins : 0.00 0.00 0 0 0
guideddiving : 0.00 0.00 0 0 0
indicator : 0.00 0.00 0 0 0
intdiving : 0.00 0.00 0 0 0
intshifting : 0.00 0.00 0 0 0
linesearchdiving : 0.00 0.00 0 0 0
localbranching : 0.00 0.00 0 0 0
locks : 25.34 0.00 1 1 1
lpface : 0.00 0.00 0 0 0
mpec : 0.00 0.00 0 0 0
multistart : 0.00 0.00 0 0 0
mutation : 0.00 0.00 0 0 0
nlpdiving : 0.00 0.00 0 0 0
objpscostdiving : 0.00 0.00 0 0 0
octane : 0.00 0.00 0 0 0
ofins : 0.00 0.00 0 0 0
oneopt : 0.03 0.00 1 1 1
padm : 0.00 0.00 0 0 0
proximity : 0.00 0.00 0 0 0
pscostdiving : 0.00 0.00 0 0 0
randrounding : 0.00 0.00 0 0 0
rens : 0.00 0.00 0 0 0
reoptsols : 0.00 0.00 0 0 0
repair : 0.00 0.00 0 0 0
rins : 0.00 0.00 0 0 0
rootsoldiving : 0.00 0.00 0 0 0
rounding : 0.00 0.00 0 0 0
shiftandpropagate: 0.00 0.00 0 0 0
shifting : 0.00 0.00 0 0 0
simplerounding : 0.00 0.00 0 0 0
subnlp : 0.00 0.00 0 0 0
trivial : 0.11 0.00 2 0 0
trivialnegation : 0.00 0.00 0 0 0
trustregion : 0.00 0.00 0 0 0
trysol : 0.00 0.00 0 0 0
twoopt : 0.00 0.00 0 0 0
undercover : 0.00 0.00 0 0 0
vbounds : 0.02 0.00 0 0 0
veclendiving : 0.00 0.00 0 0 0
zeroobj : 0.00 0.00 0 0 0
zirounding : 0.00 0.00 0 0 0
other solutions : - - - 0 -
Diving (single) : Calls Nodes LP Iters Backtracks Conflicts MinDepth MaxDepth AvgDepth RoundSols NLeafSols MinSolDpt MaxSolDpt AvgSolDpt
actconsdiving : 0 - - - - - - - - - - - -
coefdiving : 0 - - - - - - - - - - - -
conflictdiving : 0 - - - - - - - - - - - -
distributiondivin: 0 - - - - - - - - - - - -
farkasdiving : 0 - - - - - - - - - - - -
fracdiving : 0 - - - - - - - - - - - -
guideddiving : 0 - - - - - - - - - - - -
linesearchdiving : 0 - - - - - - - - - - - -
pscostdiving : 0 - - - - - - - - - - - -
veclendiving : 0 - - - - - - - - - - - -
Diving (adaptive) : Calls Nodes LP Iters Backtracks Conflicts MinDepth MaxDepth AvgDepth RoundSols NLeafSols MinSolDpt MaxSolDpt AvgSolDpt
actconsdiving : 0 - - - - - - - - - - - -
coefdiving : 0 - - - - - - - - - - - -
conflictdiving : 0 - - - - - - - - - - - -
distributiondivin: 0 - - - - - - - - - - - -
farkasdiving : 0 - - - - - - - - - - - -
fracdiving : 0 - - - - - - - - - - - -
guideddiving : 0 - - - - - - - - - - - -
linesearchdiving : 0 - - - - - - - - - - - -
pscostdiving : 0 - - - - - - - - - - - -
veclendiving : 0 - - - - - - - - - - - -
Neighborhoods : Calls SetupTime SolveTime SolveNodes Sols Best Exp3 EpsGreedy UCB TgtFixRate Opt Inf Node Stal Sol Usr Othr Actv
rens : 0 0.00 0.00 0 0 0 0.00000 -1.00000 1.00000 0.900 0 0 0 0 0 0 0 1
rins : 0 0.00 0.00 0 0 0 0.00000 -1.00000 1.00000 0.900 0 0 0 0 0 0 0 1
mutation : 0 0.00 0.00 0 0 0 0.00000 -1.00000 1.00000 0.900 0 0 0 0 0 0 0 1
localbranching : 0 0.00 0.00 0 0 0 0.00000 -1.00000 1.00000 0.900 0 0 0 0 0 0 0 1
crossover : 0 0.00 0.00 0 0 0 0.00000 -1.00000 1.00000 0.900 0 0 0 0 0 0 0 1
proximity : 0 0.00 0.00 0 0 0 0.00000 -1.00000 1.00000 0.900 0 0 0 0 0 0 0 1
zeroobjective : 0 0.00 0.00 0 0 0 0.00000 -1.00000 1.00000 0.900 0 0 0 0 0 0 0 1
dins : 0 0.00 0.00 0 0 0 0.00000 -1.00000 1.00000 0.900 0 0 0 0 0 0 0 1
trustregion : 0 0.00 0.00 0 0 0 0.00000 -1.00000 1.00000 0.900 0 0 0 0 0 0 0 0
LP : Time Calls Iterations Iter/call Iter/sec Time-0-It Calls-0-It ItLimit
primal LP : 0.00 0 0 0.00 - 0.00 0
dual LP : 0.00 0 0 0.00 - 0.00 0
lex dual LP : 0.00 0 0 0.00 -
barrier LP : 0.00 0 0 0.00 - 0.00 0
resolve instable : 0.00 0 0 0.00 -
diving/probing LP: 0.03 0 0 0.00 0.00
strong branching : 0.00 0 0 0.00 - - - 0
(at root node) : - 0 0 0.00 -
conflict analysis: 0.00 0 0 0.00 -
B&B Tree :
number of runs : 1
nodes : 1 (0 internal, 1 leaves)
feasible leaves : 0
infeas. leaves : 0
objective leaves : 0
nodes (total) : 1 (0 internal, 1 leaves)
nodes left : 0
max depth : 0
max depth (total): 0
backtracks : 0 (0.0%)
early backtracks : 0 (0.0%)
nodes exc. ref. : 0 (0.0%)
delayed cutoffs : 0
repropagations : 0 (0 domain reductions, 0 cutoffs)
avg switch length: 2.00
switching time : 0.00
Estim. Tree Size : 3
Estimation Tree : 1 nodes (1 visited, 0 internal, 1 leaves, 0 open), weight: 0.5000 completed 0.8166
Estimations : estim value trend resolution smooth
wbe : 3 - - - -
tree-profile : -1 - - - -
gap : 1 1.00000 1.00000 1 1
tree-weight : 3 0.50000 0.50000 1 3
leaf-frequency : 1 0.50000 1.00000 1 1
ssg : 1 0.00000 -1.00000 1 1
open-nodes : 1 0.00000 0.00000 1 1
Root Node :
First LP value : -
First LP Iters : 0
First LP Time : 0.00
Final Dual Bound : +1.00000000000000e+00
Final Root Iters : 0
Root LP Estimate : -
Solution :
Solutions found : 2 (2 improvements)
First Solution : +2.00000000000000e+00 (in run 1, after 1 nodes, 34.05 seconds, depth 136, found by <locks>)
Gap First Sol. : 100.00 %
Gap Last Sol. : 0.00 %
Primal Bound : +1.00000000000000e+00 (in run 1, after 1 nodes, 34.07 seconds, depth 0, found by <oneopt>)
Dual Bound : +1.00000000000000e+00
Gap : 0.00 %
Integrals : Total Avg%
primal-dual : 3413.64 99.79
primal-ref : - - (not evaluated)
dual-ref : - - (not evaluated)
CBC 2.10.3
$ cbc input_red.mps
Welcome to the CBC MILP Solver
Version: 2.10.3
Build Date: Apr 30 2020
command line - cbc ../../Downloads/input_red/input_red.mps (default strategy 1)
At line 7 NAME input_red.mps
At line 8 ROWS
At line 1158 COLUMNS
At line 197386 RHS
At line 198152 BOUNDS
At line 295822 ENDATA
Problem input_red.mps has 1148 rows, 97667 columns and 196224 elements
Coin0008I input_red.mps read with 0 errors
Continuous objective value is 1 - 1.44 seconds
Cgl0004I processed model has 1148 rows, 97667 columns (97667 integer (97665 of which binary)) and 196224 elements
Cutoff increment increased from 1e-05 to 0.9999
Cbc0045I 1 integer variables out of 97667 objects (97667 integer) have cost of 1 - high priority
Cbc0045I branch on satisfied Y create fake objective Y random cost Y
Cbc0038I Initial state - 992 integers unsatisfied sum - 283.256
Cbc0038I Pass 1: suminf. 90.44347 (630) obj. 1 iterations 980
Cbc0038I Pass 2: suminf. 90.61076 (630) obj. 1 iterations 198
Cbc0038I Pass 3: suminf. 90.61076 (630) obj. 1 iterations 15
Cbc0038I Pass 4: suminf. 90.61076 (630) obj. 1 iterations 22
Cbc0038I Pass 5: suminf. 183.46889 (736) obj. 1 iterations 1142
Cbc0038I Pass 6: suminf. 130.24761 (736) obj. 1 iterations 620
Cbc0038I Pass 7: suminf. 129.83731 (736) obj. 1 iterations 1
Cbc0038I Pass 8: suminf. 127.74175 (736) obj. 1 iterations 13
Cbc0038I Pass 9: suminf. 127.74175 (736) obj. 1 iterations 0
Cbc0038I Pass 10: suminf. 127.04440 (736) obj. 1 iterations 10
Cbc0038I Pass 11: suminf. 127.04440 (736) obj. 1 iterations 12
Cbc0038I Pass 12: suminf. 199.40471 (794) obj. 1 iterations 962
Cbc0038I Pass 13: suminf. 143.00120 (794) obj. 1 iterations 579
Cbc0038I Pass 14: suminf. 142.73818 (794) obj. 1 iterations 1
Cbc0038I Pass 15: suminf. 140.81270 (794) obj. 1 iterations 16
Cbc0038I Pass 16: suminf. 140.81270 (794) obj. 1 iterations 2
Cbc0038I Pass 17: suminf. 138.31226 (794) obj. 1 iterations 25
Cbc0038I Pass 18: suminf. 138.31226 (794) obj. 1 iterations 2
Cbc0038I Pass 19: suminf. 137.52505 (794) obj. 1 iterations 19
Cbc0038I Pass 20: suminf. 137.44347 (794) obj. 1 iterations 1
Cbc0038I Pass 21: suminf. 137.21555 (794) obj. 1 iterations 13
Cbc0038I Pass 22: suminf. 137.21555 (794) obj. 1 iterations 6
Cbc0038I Pass 23: suminf. 137.18421 (794) obj. 1 iterations 16
Cbc0038I Pass 24: suminf. 137.18421 (794) obj. 1 iterations 9
Cbc0038I Pass 25: suminf. 137.15072 (794) obj. 1 iterations 22
Cbc0038I Pass 26: suminf. 136.66003 (794) obj. 1 iterations 6
Cbc0038I Pass 27: suminf. 136.52959 (794) obj. 1 iterations 2
Cbc0038I Pass 28: suminf. 136.52959 (794) obj. 1 iterations 5
Cbc0038I Pass 29: suminf. 198.71656 (1002) obj. 1 iterations 918
Cbc0038I Pass 30: suminf. 142.33298 (832) obj. 1 iterations 546
Cbc0038I Pass 31: suminf. 140.24911 (832) obj. 1 iterations 10
Cbc0038I Pass 32: suminf. 139.04115 (832) obj. 1 iterations 37
Cbc0038I Pass 33: suminf. 139.04115 (832) obj. 1 iterations 3
Cbc0038I Pass 34: suminf. 139.01034 (832) obj. 1 iterations 17
Cbc0038I Pass 35: suminf. 139.01034 (832) obj. 1 iterations 8
Cbc0038I Pass 36: suminf. 139.01544 (832) obj. 1 iterations 38
Cbc0038I Pass 37: suminf. 139.01544 (832) obj. 1 iterations 10
Cbc0038I Pass 38: suminf. 139.23294 (832) obj. 1 iterations 34
Cbc0038I Pass 39: suminf. 139.19239 (832) obj. 1 iterations 22
Cbc0038I Pass 40: suminf. 139.01544 (832) obj. 1 iterations 21
Cbc0038I Pass 41: suminf. 182.73905 (850) obj. 1 iterations 612
Cbc0038I Pass 42: suminf. 141.84918 (850) obj. 1 iterations 393
Cbc0038I Pass 43: suminf. 141.64039 (850) obj. 1 iterations 3
Cbc0038I Pass 44: suminf. 141.42061 (850) obj. 1 iterations 3
Cbc0038I Pass 45: suminf. 139.26586 (850) obj. 1 iterations 14
Cbc0038I Pass 46: suminf. 139.26586 (850) obj. 1 iterations 7
Cbc0038I Pass 47: suminf. 139.19086 (850) obj. 1 iterations 16
Cbc0038I Pass 48: suminf. 139.19086 (850) obj. 1 iterations 8
Cbc0038I Pass 49: suminf. 139.41333 (850) obj. 1 iterations 18
Cbc0038I Pass 50: suminf. 139.32130 (850) obj. 1 iterations 6
Cbc0038I Pass 51: suminf. 139.19086 (850) obj. 1 iterations 6
Cbc0038I Pass 52: suminf. 196.36599 (862) obj. 1 iterations 641
Cbc0038I Pass 53: suminf. 146.74554 (862) obj. 1 iterations 431
Cbc0038I Pass 54: suminf. 145.35847 (862) obj. 1 iterations 7
Cbc0038I Pass 55: suminf. 145.35847 (862) obj. 1 iterations 0
Cbc0038I Pass 56: suminf. 143.80827 (862) obj. 1 iterations 31
Cbc0038I Pass 57: suminf. 143.80827 (862) obj. 1 iterations 3
Cbc0038I Pass 58: suminf. 143.80168 (862) obj. 1 iterations 9
Cbc0038I Pass 59: suminf. 143.80168 (862) obj. 1 iterations 2
Cbc0038I Pass 60: suminf. 143.78114 (862) obj. 1 iterations 19
Cbc0038I Pass 61: suminf. 143.78114 (862) obj. 1 iterations 26
Cbc0038I Pass 62: suminf. 143.78114 (862) obj. 1 iterations 6
Cbc0038I Pass 63: suminf. 205.28872 (1000) obj. 1 iterations 921
Cbc0038I Pass 64: suminf. 141.65784 (884) obj. 1 iterations 495
Cbc0038I Pass 65: suminf. 138.93762 (884) obj. 1 iterations 36
Cbc0038I Pass 66: suminf. 137.36246 (884) obj. 1 iterations 37
Cbc0038I Pass 67: suminf. 137.31518 (884) obj. 1 iterations 5
Cbc0038I Pass 68: suminf. 137.09166 (884) obj. 1 iterations 12
Cbc0038I Pass 69: suminf. 137.09166 (884) obj. 1 iterations 6
Cbc0038I Pass 70: suminf. 136.84858 (884) obj. 1 iterations 41
Cbc0038I Pass 71: suminf. 136.57916 (884) obj. 1 iterations 22
Cbc0038I Pass 72: suminf. 136.57916 (884) obj. 1 iterations 27
Cbc0038I Pass 73: suminf. 184.06351 (892) obj. 1 iterations 637
Cbc0038I Pass 74: suminf. 141.28663 (892) obj. 1 iterations 392
Cbc0038I Pass 75: suminf. 141.05765 (892) obj. 1 iterations 1
Cbc0038I Pass 76: suminf. 137.99253 (892) obj. 1 iterations 21
Cbc0038I Pass 77: suminf. 137.99253 (892) obj. 1 iterations 0
Cbc0038I Pass 78: suminf. 136.33320 (892) obj. 1 iterations 19
Cbc0038I Pass 79: suminf. 136.29686 (892) obj. 1 iterations 1
Cbc0038I Pass 80: suminf. 136.23340 (892) obj. 1 iterations 24
Cbc0038I Pass 81: suminf. 136.23340 (892) obj. 1 iterations 13
Cbc0038I Pass 82: suminf. 136.23340 (892) obj. 1 iterations 16
Cbc0038I Pass 83: suminf. 213.63036 (1000) obj. 1 iterations 864
Cbc0038I Pass 84: suminf. 153.31534 (910) obj. 1 iterations 502
Cbc0038I Pass 85: suminf. 152.92433 (910) obj. 1 iterations 4
Cbc0038I Pass 86: suminf. 149.75372 (910) obj. 1 iterations 57
Cbc0038I Pass 87: suminf. 149.75372 (910) obj. 1 iterations 1
Cbc0038I Pass 88: suminf. 147.36828 (910) obj. 1 iterations 67
Cbc0038I Pass 89: suminf. 147.36828 (910) obj. 1 iterations 13
Cbc0038I Pass 90: suminf. 147.17351 (910) obj. 1 iterations 44
Cbc0038I Pass 91: suminf. 147.17351 (910) obj. 1 iterations 5
Cbc0038I Pass 92: suminf. 147.17351 (910) obj. 1 iterations 5
Cbc0038I Pass 93: suminf. 214.64236 (988) obj. 1 iterations 917
Cbc0038I Pass 94: suminf. 150.14794 (928) obj. 1 iterations 490
Cbc0038I Pass 95: suminf. 148.86492 (928) obj. 1 iterations 18
Cbc0038I Pass 96: suminf. 144.39458 (928) obj. 1 iterations 42
Cbc0038I Pass 97: suminf. 144.29985 (928) obj. 1 iterations 6
Cbc0038I Pass 98: suminf. 142.57711 (928) obj. 1 iterations 27
Cbc0038I Pass 99: suminf. 142.57711 (928) obj. 1 iterations 2
Cbc0038I Pass 100: suminf. 204.78721 (996) obj. 1 iterations 814
Cbc0038I No solution found this major pass
Cbc0038I Before mini branch and bound, 90810 integers at bound fixed and 0 continuous
Cbc0038I Full problem 1148 rows 97667 columns, reduced to 1023 rows 6857 columns
Cbc0038I Mini branch and bound did not improve solution (5.77 seconds)
Cbc0038I After 5.77 seconds - Feasibility pump exiting - took 3.60 seconds
Cbc0031I 408 added rows had average density of 322.00245
Cbc0013I At root node, 408 cuts changed objective from 1 to 1 in 10 passes
Cbc0014I Cut generator 0 (Probing) - 61 row cuts average 298.1 elements, 0 column cuts (0 active) in 4.669 seconds - new frequency is -100
Cbc0014I Cut generator 1 (Gomory) - 3160 row cuts average 572.2 elements, 0 column cuts (0 active) in 4.773 seconds - new frequency is -100
Cbc0014I Cut generator 2 (Knapsack) - 0 row cuts average 0.0 elements, 0 column cuts (0 active) in 0.024 seconds - new frequency is -100
Cbc0014I Cut generator 3 (Clique) - 0 row cuts average 0.0 elements, 0 column cuts (0 active) in 0.040 seconds - new frequency is -100
Cbc0014I Cut generator 4 (MixedIntegerRounding2) - 717 row cuts average 357.2 elements, 0 column cuts (0 active) in 0.200 seconds - new frequency is -100
Cbc0014I Cut generator 5 (FlowCover) - 0 row cuts average 0.0 elements, 0 column cuts (0 active) in 0.099 seconds - new frequency is -100
Cbc0014I Cut generator 6 (TwoMirCuts) - 2933 row cuts average 332.3 elements, 0 column cuts (0 active) in 2.702 seconds - new frequency is -100
Cbc0010I After 0 nodes, 1 on tree, 1e+50 best solution, best possible 1 (21.40 seconds)
Cbc0004I Integer solution of 1 found after 11355 iterations and 14 nodes (31.20 seconds)
Cbc0001I Search completed - best objective 1, took 11355 iterations and 14 nodes (31.21 seconds)
Cbc0032I Strong branching done 202 times (10269 iterations), fathomed 0 nodes and fixed 0 variables
Cbc0035I Maximum depth 9, 0 variables fixed on reduced cost
Cuts at root node changed objective from 1 to 1
Probing was tried 10 times and created 61 cuts of which 0 were active after adding rounds of cuts (4.669 seconds)
Gomory was tried 10 times and created 3160 cuts of which 0 were active after adding rounds of cuts (4.773 seconds)
Knapsack was tried 10 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.024 seconds)
Clique was tried 10 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.040 seconds)
MixedIntegerRounding2 was tried 10 times and created 717 cuts of which 0 were active after adding rounds of cuts (0.200 seconds)
FlowCover was tried 10 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.099 seconds)
TwoMirCuts was tried 10 times and created 2933 cuts of which 0 were active after adding rounds of cuts (2.702 seconds)
ZeroHalf was tried 1 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.304 seconds)
Result - Optimal solution found
Objective value: 1.00000000
Enumerated nodes: 14
Total iterations: 11355
Time (CPU seconds): 31.54
Time (Wallclock seconds): 33.97
Total time (CPU seconds): 31.65 (Wallclock seconds): 34.10
Does the Lagrange dual method work for nonlinear integer programming problems?
Is there a difference between PRINTEMPS PDLP and OR-Tools PDLP?
Does PRINTEMPS PDLP compute a corrected dual objective, as does OR-Tools PDLP? The corrected dual objective is a feasible lower bound. https://developers.google.com/optimization/lp/pdlp_math#dual
The new PDLP options do not appear in the Solver Option Guide. https://snowberryfield.github.io/printemps/contents/solver_option_guide.html
Is PDLP used as an alternative method to the Lagrange dual search to find a lower bound?