[SCIP] Initial value for a warmstart solution
Stefan Vigerske
svigerske at gams.com
Mon Jul 13 11:26:00 CEST 2020
Hi,
the OPTI/SCIP interface might not pass an initial solution from Matlab
to SCIP. As OPTI development has stopped, it would be up to you to add
such functionality in
https://github.com/jonathancurrie/OPTI/blob/master/Solvers/Source/scip/scipmex.cpp
(I guess).
There is not too much to expect from passing an initial solution, but
some of its effectyou could get by setting the SCIP option
limits/objective to the objective value of your solution. Then SCIP
would prune B&B-nodes which dual bound (given by the LP relaxation) is
above this value.
Best,
Stefan
On 7/12/20 3:36 PM, Stephanos wrote:
> Dear Scip Team,
>
> For a Controller I am solving a non-convex Mixed Integer Nonlinear Program (MINLP)
>
> in Matlab via the Opti Toolbox with the solver SCIP.
>
> Depending on a choosen Horizon it can contain from 8 to 8000 binary variables,
>
> 16-16000 continous variables, 12-12000 equality constraints, 20-20000 inequality
> constraints,
>
> 24-24000 box constraints and 0 nonlinear constraints.
>
> Due to some insight of the model I can construct an initial feasible vector x0
>
> to start the Optimization. The problem is that the solver does not use the
> initial feasible
>
> vector for an initial guess in the optimization.
>
> It starts with an initial primal bound of NaN and a Gap of Infinity.
>
> Due to this problem I cannot give the solver for example a warmstart solution.
>
> Is it somehow possible to give the scip solver an initial guess for the
>
> optimization problem and respectively an initial primal bound before solving?
>
> I have attached the result log of the problem below, if it helps to understand
> my question.
>
> In the above given example I specified the limit of solutions to 1.
>
> presolving:
>
> (round 1, fast) 703 del vars, 1507 del conss, 0 add conss, 208 chg bounds,
> 0 chg sides, 100 chg coeffs, 0 upgd conss, 200 impls, 398 clqs
>
> (round 2, fast) 704 del vars, 1607 del conss, 0 add conss, 377 chg bounds,
> 0 chg sides, 100 chg coeffs, 0 upgd conss, 200 impls, 398 clqs
>
> (round 3, fast) 704 del vars, 1607 del conss, 198 add conss, 377 chg
> bounds, 0 chg sides, 100 chg coeffs, 0 upgd conss, 200 impls, 398 clqs
>
> (round 4, fast) 704 del vars, 1607 del conss, 198 add conss, 773 chg
> bounds, 0 chg sides, 100 chg coeffs, 1 upgd conss, 200 impls, 398 clqs
>
> (round 5, fast) 704 del vars, 1607 del conss, 396 add conss, 773 chg
> bounds, 0 chg sides, 100 chg coeffs, 1 upgd conss, 200 impls, 398 clqs
>
> (round 6, fast) 704 del vars, 1607 del conss, 396 add conss, 773 chg
> bounds, 0 chg sides, 100 chg coeffs, 199 upgd conss, 200 impls, 398 clqs
>
> (round 7, fast) 704 del vars, 1607 del conss, 495 add conss, 773 chg
> bounds, 0 chg sides, 100 chg coeffs, 298 upgd conss, 200 impls, 398 clqs
>
> (round 8, exhaustive) 704 del vars, 1706 del conss, 891 add conss, 773 chg
> bounds, 0 chg sides, 100 chg coeffs, 298 upgd conss, 200 impls, 398 clqs
>
> (round 9, fast) 704 del vars, 1706 del conss, 891 add conss, 1070 chg
> bounds, 0 chg sides, 100 chg coeffs, 298 upgd conss, 200 impls, 398 clqs
>
> (round 10, exhaustive) 704 del vars, 1706 del conss, 891 add conss, 1070 chg
> bounds, 0 chg sides, 100 chg coeffs, 1294 upgd conss, 200 impls, 398 clqs
>
> (round 11, exhaustive) 704 del vars, 2300 del conss, 1089 add conss, 1070 chg
> bounds, 0 chg sides, 100 chg coeffs, 1294 upgd conss, 589 impls, 398 clqs
>
> (round 12, exhaustive) 704 del vars, 2300 del conss, 1089 add conss, 1070 chg
> bounds, 0 chg sides, 100 chg coeffs, 1494 upgd conss, 589 impls, 398 clqs
>
> (1.8s) probing cycle finished: starting next cycle
>
> (round 13, exhaustive) 704 del vars, 2300 del conss, 1089 add conss, 1209 chg
> bounds, 0 chg sides, 100 chg coeffs, 1494 upgd conss, 1149 impls, 688 clqs
>
> (round 14, fast) 704 del vars, 2300 del conss, 1089 add conss, 1209 chg
> bounds, 39 chg sides, 139 chg coeffs, 1494 upgd conss, 1149 impls, 688 clqs
>
> (1.9s) probing: 49/600 (8.2) - 0 fixings, 0 aggregations, 839 implications,
> 139 bound changes
>
> (1.9s) probing aborted: 50/50 successive totally useless probings
>
> presolving (15 rounds: 15 fast, 6 medium, 6 exhaustive):
>
> 704 deleted vars, 2300 deleted constraints, 1089 added constraints, 1209
> tightened bounds, 0 added holes, 39 changed sides, 139 changed coefficients
>
> 1149 implications, 688 cliques
>
> presolved problem has 2093 variables (600 bin, 0 int, 0 impl, 1493 cont) and
> 1893 constraints
>
> 297 constraints of type <soc>
>
> 600 constraints of type <varbound>
>
> 2 constraints of type <setppc>
>
> 198 constraints of type <and>
>
> 399 constraints of type <linear>
>
> 199 constraints of type <quadratic>
>
> 198 constraints of type <nonlinear>
>
> Presolving Time: 1.91
>
> ******************************************************************************
>
> This program contains Ipopt, a library for large-scale nonlinear optimization.
>
> Ipopt is released as open source code under the Eclipse Public License (EPL).
>
> For more information visit http://projects.coin-or.org/Ipopt
>
> ******************************************************************************
>
> time | node | left |LP iter|LP it/n| mem |mdpt |frac |vars |cons |cols |rows
> |cuts |confs|strbr| dualbound | primalbound | gap
>
> 2.4s| 1 | 0 | 3490 | - | 27M| 0 | 84 |2093 |1893 |2093 |2393
> | 0 | 0 | 0 |-6.537019e+00 | -- | Inf
>
> 2.5s| 1 | 0 | 3947 | - | 28M| 0 | 84 |2093 |1894 |2093 |2393
> | 0 | 0 | 0 |-6.537019e+00 | -- | Inf
>
> 2.5s| 1 | 0 | 4465 | - | 29M| 0 | 29 |2093 |1894 |2093 |2718
> | 325 | 0 | 0 |-6.512983e+00 | -- | Inf
>
> 2.6s| 1 | 0 | 4645 | - | 30M| 0 | 33 |2093 |1894 |2093 |2859
> | 466 | 0 | 0 |-6.512907e+00 | -- | Inf
>
> 2.6s| 1 | 0 | 5109 | - | 30M| 0 | 30 |2093 |1894 |2093 |2996
> | 603 | 0 | 0 |-6.512515e+00 | -- | Inf
>
> 2.7s| 1 | 0 | 6191 | - | 30M| 0 | 42 |2093 |1894 |2093 |3138
> | 745 | 0 | 0 |-6.459440e+00 | -- | Inf
>
> 2.8s| 1 | 0 | 8127 | - | 31M| 0 | 36 |2093 |1894 |2093 |3322
> | 929 | 0 | 0 |-6.392400e+00 | -- | Inf
>
> 2.9s| 1 | 0 | 9371 | - | 32M| 0 | 42 |2093 |1894 |2093 |3461
> |1068 | 0 | 0 |-6.352951e+00 | -- | Inf
>
> 3.1s| 1 | 0 | 10677 | - | 32M| 0 | 38 |2093 |1894 |2093 |3598
> |1205 | 0 | 0 |-6.347719e+00 | -- | Inf
>
> 3.1s| 1 | 0 | 10791 | - | 33M| 0 | 27 |2093 |1894 |2093 |3702
> |1309 | 0 | 0 |-6.345305e+00 | -- | Inf
>
> 3.2s| 1 | 0 | 10904 | - | 33M| 0 | 27 |2093 |1894 |2093 |3804
> |1411 | 0 | 0 |-6.344332e+00 | -- | Inf
>
> 3.2s| 1 | 0 | 11033 | - | 34M| 0 | 26 |2093 |1894 |2087 |3055
> |1523 | 0 | 0 |-6.343795e+00 | -- | Inf
>
> 3.3s| 1 | 0 | 11152 | - | 34M| 0 | 26 |2093 |1894 |2087 |3157
> |1625 | 0 | 0 |-6.342783e+00 | -- | Inf
>
> 3.3s| 1 | 0 | 11248 | - | 34M| 0 | 22 |2093 |1894 |2087 |3232
> |1700 | 0 | 0 |-6.342678e+00 | -- | Inf
>
> 3.4s| 1 | 0 | 11323 | - | 35M| 0 | 22 |2093 |1894 |2087 |3283
> |1751 | 0 | 0 |-6.342664e+00 | -- | Inf
>
> time | node | left |LP iter|LP it/n| mem |mdpt |frac |vars |cons |cols |rows
> |cuts |confs|strbr| dualbound | primalbound | gap
>
> 3.4s| 1 | 0 | 11378 | - | 35M| 0 | 22 |2093 |1894 |2087 |3339
> |1807 | 0 | 0 |-6.342662e+00 | -- | Inf
>
> 3.4s| 1 | 0 | 11441 | - | 35M| 0 | 22 |2093 |1894 |2087 |2854
> |1858 | 0 | 0 |-6.342651e+00 | -- | Inf
>
> 3.5s| 1 | 0 | 11520 | - | 36M| 0 | 22 |2093 |1894 |2087 |2878
> |1882 | 0 | 0 |-6.342549e+00 | -- | Inf
>
> 3.5s| 1 | 0 | 11551 | - | 36M| 0 | 22 |2093 |1894 |2087 |2897
> |1901 | 0 | 0 |-6.342548e+00 | -- | Inf
>
> 3.5s| 1 | 0 | 11568 | - | 36M| 0 | 22 |2093 |1894 |2087 |2907
> |1911 | 0 | 0 |-6.342548e+00 | -- | Inf
>
> 3.5s| 1 | 0 | 11592 | - | 36M| 0 | 20 |2093 |1894 |2087 |2911
> |1915 | 0 | 0 |-6.342545e+00 | -- | Inf
>
> 3.6s| 1 | 0 | 11600 | - | 37M| 0 | 20 |2093 |1894 |2087 |2914
> |1918 | 0 | 0 |-6.342545e+00 | -- | Inf
>
> 3.6s| 1 | 0 | 11601 | - | 37M| 0 | 20 |2093 |1894 |2087 |2299
> |1919 | 0 | 0 |-6.342545e+00 | -- | Inf
>
> 3.6s| 1 | 0 | 11603 | - | 37M| 0 | 20 |2093 |1894 |2087 |2302
> |1922 | 0 | 0 |-6.342545e+00 | -- | Inf
>
> 10.9s| 1 | 2 | 11649 | - | 37M| 0 | 17 |2093 |1895 |2087 |2302
> |1922 | 0 | 19 |-6.342545e+00 | -- | Inf
>
> z17.6s| 5 | 6 | 12165 | 584.0 | 37M| 4 | 8 |2093 |1895 |2087 |2192
> |2358 | 0 | 60 |-6.342545e+00 |-6.325721e+00 | 0.27
>
> SCIP Status : solving was interrupted [solution limit reached]
>
> Solving Time (sec) : 17.64
>
> Solving Nodes : 5
>
> Primal Bound : -6.32572075532809e+00 (1 solutions)
>
> Dual Bound : -6.34254542284478e+00
>
> Gap : 0.27
>
> Kind regards
>
> Stephanos P.
>
>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> https://listserv.zib.de/mailman/listinfo/scip
>
More information about the Scip
mailing list