[SCIP] Could you please tell me what is a pesudo solution (non-fixed integer solution) ?
Gerald Gamrath
gamrath at zib.de
Mon Dec 18 18:00:42 CET 2017
Dear Zhu Waiming,
there are some occasions when no fractional variables are available for
branching. In this case, the BRANCHEXECPS callback is called that is
supposed to branch on an unfixed integer variable.
What are those occasions? First, it may happen that SCIP encounters
numerical troubles when solving the LP and the LP solver cannot return a
feasible and optimal solution. In this case, SCIP performs pseudo
solution branching in the hope that afterwards, the LP is numerically
better conditioned.
In your case, it looks like there are no variables with fractional value
in the LP solution. However, SCIP does not seem to use the LP solution
as a dual bound. I would assume that your pricer does not set the result
flag to SCIP_SUCCESS when you did not find a solution. If it would, you
would signal SCIP that you proved that there is no improving column and
thus, the master LP was solved to optimality. If you do not set it to
SCIP_SUCCESS, SCIP must assume that you just stopped pricing, but there
might be improving variables (this is sometimes called "early
branching"). However, if this is the case, the LP solution does not
provide a valid dual bound.
I would suggest you check if you set the result pointer. If you forgot
this although you priced to the end, SCIP should be finished in the root
node directly after applying the dual bound (which should match the
primal bound for this run). If you indeed intended to perform early
branching, please try to continue pricing to allow SCIP to obtain dual
bounds. Alternatively, you can also set a dual bound via the lowerbound
pointer.
Best,
Gerald
On 04.12.2017 08:16, 朱外明 wrote:
> Dear Ambros,
>
> Thanks very much for your kind answering me on foregoing
> questions. Now my program is OK on running but abnormal on solving the
> problem. At the begining of branch and price, SCIP would produce
> pesudo solutions (non-fixed integer solutions). As a result, I must
> realize a BRANCHEXECPS branching method (I used the _SCIPbranchVar_
> <http://scip.zib.de/doc/html/group__PublicBranchingMethods.php#gabb0e80df81b921f02e8d63ec44de609c>
> method inside this branching). Then the searching steps into
> BRANCHEXECLP branching in which fractional variable values are available.
>
> Here is something difficult to be understood. What is a pesudo
> solution? Does not SCIP solve the linear relaxation of master problem
> directly? If yes, fractional variable values should be avalaible at
> the root node. Why it is not the truth from my experience? Dear
> Ambros, could you please tell me something about this ?
> *
> *
> Some displaying information are listed:
>
> --------------------------------------------------------------------------------------------------------------------------
> SCIP> read data/data.scp
> read problem <data/data.scp>
> ============
> original problem has 5 variables (5 bin, 0 int, 0 impl, 0 cont) and 15
> constraints
> SCIP> optimize
> feasible solution found by trivial heuristic after 0.0 seconds,
> objective value 5.000000e+04
> presolving:
> (0.0s) probing cycle finished: starting next cycle
> presolving (1 rounds: 1 fast, 1 medium, 1 exhaustive):
> 0 deleted vars, 0 deleted constraints, 0 added constraints, 0
> tightened bounds, 0 added holes, 0 changed sides, 0 changed coefficients
> 0 implications, 0 cliques
> presolved problem has 5 variables (5 bin, 0 int, 0 impl, 0 cont) and
> 15 constraints
> 15 constraints of type <setppc>
> transformed objective value is always integral (scale: 1)
> Presolving Time: 0.01
> transformed 1/1 original solutions to the transformed problem space
> 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 | 12 | - | 918k| 0 | 0 | 110 | 15 |
> 110 | 15 | 0 | 0 | 0 | -- | 5.000000e+04 | Inf
> r 0.0s| 1 | 0 | 12 | - | 921k| 0 | 0 | 110 | 15 |
> 110 | 15 | 0 | 0 | 0 | -- | 5.000000e+00 | Inf
> 0.0s| 1 | 0 | 12 | - | 921k| 0 | 0 | 110 | 15 |
> 110 | 15 | 0 | 0 | 0 | -- | 5.000000e+00 | Inf
> [src/branch_scp.c:219] debug: start BRANCHEXECPS branching !
> [src/branch_scp.c:356] debug: -> 110 candidates, selected candidate
> 109: variable <>
> 0.0s| 1 | 2 | 12 | - | 922k| 0 | 0 | 110 | 15 |
> 110 | 15 | 0 | 0 | 0 | -- | 5.000000e+00 | Inf
> [src/branch_scp.c:219] debug: start BRANCHEXECPS branching !
> [src/branch_scp.c:356] debug: -> 109 candidates, selected candidate
> 108: variable <>
> [src/branch_scp.c:219] debug: start BRANCHEXECPS branching !
> ......
> [src/branch_scp.c:356] debug: -> 62 candidates, selected candidate
> 61: variable <>
> [src/branch_scp.c:219] debug: start BRANCHEXECPS branching !
> [src/branch_scp.c:356] debug: -> 61 candidates, selected candidate
> 60: variable <>
>
> [src/branch_scp.c:77] debug: start BRANCHEXECLP branching
> ![src/branch_scp.c:85] debug: start branching at node 96, depth 50
> .............
> --------------------------------------------------------------------------------------------------------------------------
>
> Thank you.
>
> With best regards!
>
>
> -----------------------------------------------
> Your sincerely follower, Zhu Waiming
> zhuwaiming at mail.hfut.edu.cn
> Hefei University of technology, China
> orcid.org/0000-0001-7134-6584
> _https://www.researchgate.net/profile/Zhu_Waiming_
> 2017-12-04
> */_
> _/*
>
>
>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> https://listserv.zib.de/mailman/listinfo/scip
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20171218/e12f26dd/attachment.html>
More information about the Scip
mailing list