[SCIP] set/vbc/dispsols
Gotzes, Uwe Dr.
Uwe.Gotzes at open-grid-europe.com
Fri Dec 16 13:28:55 CET 2016
Hi Jakob,
my problem is that the solution with objective value -4 corresponds to node 5 and the solution with objective value -7 corresponds to node 6. In the vbc-file it is somehow the other way round: "U -4" is printed "close" to the new (P)ainting of node 6 while "U -7" occurs close to the new painting of node 5 in the file.
>> 00:00:00.00 P 6 14
>> 00:00:00.00 U -4.000000
...
>> 00:00:00.00 P 5 14
...
>> 00:00:00.00 U -7.000000
Isn't that strange?
Regarding your answer to my "frac"-question: If there are 0 fractional variables in the LP-solution of node 2, why isn't there a primal bound resulting from it?
time | node | left |LP iter|LP it/n| mem |mdpt |frac |vars |cons |cols |rows |cuts |confs|strbr| dualbound | primalbound | gap
0.0s| 2 | 1 | 3 | 0.0 | 169k| 1 | - | 2 | 3 | 2 | 2 | 3 | 0 | 0 |8.000000e+000 | -- | Inf
Best,
Uwe
-----Ursprüngliche Nachricht-----
Von: Jakob Witzig [mailto:witzig at zib.de]
Gesendet: Freitag, 16. Dezember 2016 13:01
An: Gotzes, Uwe Dr.
Cc: scip at zib.de
Betreff: Re: [SCIP] set/vbc/dispsols
One additional remark or workaround. You can look at the lines of type:
00:00:00.00 U -7.000000
This is new upper bound, i.e., the objective values of the new incumbent. In your case you need to multiply with -1 because your problem seems to be a maximization problem and SCIP's transformed problem is always a minimization problem.
Cheers
Jakob
Am 16.12.2016 um 12:56 schrieb Jakob Witzig:
> Hi Uwe,
>
> I had a look into the code and it seems that the vbc-format does not
> support information about the new incumbent solution. If you use bak
> instead of vbc, SCIP will print a line like:
>
> integer {nodenumber} {parentnumber} {boundtype} {newobj}
>
> The "frac" column shows the number of fractional variables in the LP
> solution. If all integer variables have an integral solution value in
> the LP solution a "-" is printed.
>
> Cheers,
> Jakob
>
> Am 16.12.2016 um 12:02 schrieb Gotzes, Uwe Dr.:
>> Hi,
>>
>> I have a very simple problem and tried to tell scip to apply plain
>> lp-based branch and bound to it.
>>
>> I have set vbc/dispsols = TRUE to visualize the nodes where solutions
>> are found.
>>
>> This option results in the two lines 00:00:00.00 P 6 14 and
>> 00:00:00.00 P 5 14 in the vbc-file. (P int int Number of the node,
>> number of the nodes colour.)
>>
>> I have two questions:
>> 1. Is it possible to figure out the value of the solution found in
>> the respective node from the vbc-file?
>> 2. What is the meaning of the minus sign in the "frac"-column of node 2?
>>
>>
>> Scip output is:
>>
>> time | node | left |LP iter|LP it/n| mem |mdpt |frac |vars |cons
>> |cols |rows |cuts |confs|strbr| dualbound | primalbound | gap
>> 0.0s| 1 | 0 | 0 | - | 166k| 0 | - | 2 | 3
>> | 2 | 0 | 0 | 0 | 0 | -- | -- | Inf
>> (node 1) LP relaxation is unbounded (LP 0)
>> 0.0s| 1 | 0 | 2 | - | 167k| 0 | - | 2 | 3
>> | 2 | 2 | 2 | 0 | 0 | -- | -- | Inf
>> (node 1) LP relaxation is unbounded (LP 1)
>> 0.0s| 1 | 0 | 3 | - | 168k| 0 | 1 | 2 | 3
>> | 2 | 2 | 3 | 0 | 0 |8.428571e+000 | -- | Inf
>> 0.0s| 1 | 2 | 3 | - | 168k| 0 | 1 | 2 | 3
>> | 2 | 2 | 3 | 0 | 0 |8.428571e+000 | -- | Inf
>> 0.0s| 2 | 1 | 3 | 0.0 | 169k| 1 | - | 2 | 3
>> | 2 | 2 | 3 | 0 | 0 |8.000000e+000 | -- | Inf
>> 0.0s| 3 | 2 | 5 | 1.0 | 169k| 1 | 1 | 2 | 3
>> | 2 | 2 | 3 | 0 | 0 |7.500000e+000 | -- | Inf
>> 0.0s| 4 | 3 | 6 | 1.0 | 170k| 2 | 1 | 2 | 3
>> | 2 | 2 | 3 | 0 | 0 |7.000000e+000 | -- | Inf
>> * 0.0s| 5 | 2 | 7 | 1.0 | 170k| 3 | - | 2 | 3
>> | 2 | 2 | 3 | 0 | 0 |7.000000e+000 |4.000000e+000 | 75.00%
>> * 0.0s| 6 | 0 | 8 | 1.0 | 170k| 3 | - | 2 | 3
>> | 2 | 2 | 3 | 0 | 0 |7.000000e+000 |7.000000e+000 | 0.00%
>>
>> The content of the generated vbc-file:
>>
>> #TYPE: COMPLETE TREE
>> #TIME: SET
>> #BOUNDS: SET
>> #INFORMATION: STANDARD
>> #NODE_NUMBER: NONE
>> 00:00:00.00 N 0 1 3
>> 00:00:00.00 I 1
>> \inode:\t1\idepth:\t0\nvar:\t-\nbound:\t-100000000000000000000.000000
>> 00:00:00.00 P 1 11
>> 00:00:00.00 N 1 2 3
>> 00:00:00.00 I 2 \inode:\t2\idepth:\t1\nvar:\t-\nbound:\t-8.428571
>> 00:00:00.00 I 2 \inode:\t2\idepth:\t1\nvar:\tt_x1 [-0,1e+020] <=
>> 2.000000\nbound:\t-8.000000
>> 00:00:00.00 N 1 3 3
>> 00:00:00.00 I 3 \inode:\t3\idepth:\t1\nvar:\t-\nbound:\t-8.428571
>> 00:00:00.00 I 3 \inode:\t3\idepth:\t1\nvar:\tt_x1 [-0,1e+020] >=
>> 3.000000\nbound:\t-8.428571
>> 00:00:00.00 I 1
>> \inode:\t1\idepth:\t0\nvar:\t-\nbound:\t-8.428571\nnr:\t1
>> 00:00:00.00 P 1 2
>> 00:00:00.00 I 3 \inode:\t3\idepth:\t1\nvar:\tt_x1 [3,1e+020] >=
>> 3.000000\nbound:\t100000000000000000000.000000\nnr:\t2
>> 00:00:00.00 P 3 2
>> 00:00:00.00 I 3 \inode:\t3\idepth:\t1\nvar:\tt_x1 [3,1e+020] >=
>> 3.000000\nbound:\t100000000000000000000.000000\nnr:\t2
>> 00:00:00.00 P 3 4
>> 00:00:00.00 N 2 4 3
>> 00:00:00.00 I 4 \inode:\t4\idepth:\t2\nvar:\t-\nbound:\t-7.500000
>> 00:00:00.00 I 4 \inode:\t4\idepth:\t2\nvar:\tt_x2 [-0,3] <=
>> 0.000000\nbound:\t-7.500000
>> 00:00:00.00 N 2 5 3
>> 00:00:00.00 I 5 \inode:\t5\idepth:\t2\nvar:\t-\nbound:\t-7.500000
>> 00:00:00.00 I 5 \inode:\t5\idepth:\t2\nvar:\tt_x2 [-0,3] >=
>> 1.000000\nbound:\t-7.000000
>> 00:00:00.00 I 2 \inode:\t2\idepth:\t1\nvar:\tt_x1 [-0,2] <=
>> 2.000000\nbound:\t-7.500000\nnr:\t3
>> 00:00:00.00 P 2 2
>> 00:00:00.00 N 4 6 3
>> 00:00:00.00 I 6 \inode:\t6\idepth:\t3\nvar:\t-\nbound:\t-6.000000
>> 00:00:00.00 I 6 \inode:\t6\idepth:\t3\nvar:\tt_x1 [-0,2] <=
>> 1.000000\nbound:\t-4.000000
>> 00:00:00.00 N 4 7 3
>> 00:00:00.00 I 7 \inode:\t7\idepth:\t3\nvar:\t-\nbound:\t-6.000000
>> 00:00:00.00 I 7 \inode:\t7\idepth:\t3\nvar:\tt_x1 [-0,2] >=
>> 2.000000\nbound:\t-6.000000
>> 00:00:00.00 I 4 \inode:\t4\idepth:\t2\nvar:\tt_x2 [-0,0] <=
>> 0.000000\nbound:\t-6.000000\nnr:\t4
>> 00:00:00.00 P 4 2
>> 00:00:00.00 I 6 \inode:\t6\idepth:\t3\nvar:\tt_x1 [-0,1] <=
>> 1.000000\nbound:\t-4.000000\nnr:\t5
>> 00:00:00.00 P 6 2
>> 00:00:00.00 P 6 14
>> 00:00:00.00 U -4.000000
>> 00:00:00.00 I 5 \inode:\t5\idepth:\t2\nvar:\tt_x2 [1,3] >=
>> 1.000000\nbound:\t-7.000000\nnr:\t6
>> 00:00:00.00 P 5 2
>> 00:00:00.00 P 5 14
>> 00:00:00.00 I 7 \inode:\t7\idepth:\t3\nvar:\tt_x1 [-0,2] >=
>> 2.000000\nbound:\t-6.000000\nnr:\t6
>> 00:00:00.00 P 7 4
>> 00:00:00.00 U -7.000000
>>
>> Thanks,
>> Uwe
>>
>> _______________________________________________
>> Scip mailing list
>> Scip at zib.de
>> http://listserv.zib.de/mailman/listinfo/scip
>>
>
>
--
Jakob Witzig
Zuse Institute Berlin (ZIB)
Division Mathematical Optimization and Scientific Information Research Group Mathematical Optimization Methods
Takustrasse 7
14195 Berlin
Tel. : +49 (0)30 84185-416
Fax : +49 (0)30 84185-269
email: witzig at zib.de
More information about the Scip
mailing list