<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Dear Zhu Waiming,</p>
    <p>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.</p>
    <p>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.</p>
    <p>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.</p>
    <p>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.</p>
    <p>Best,<br>
      Gerald<br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 04.12.2017 08:16, 朱外明 wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:1ec6463.261d9.1602061c1a7.Coremail.zhuwaiming@mail.hfut.edu.cn">
      <div>Dear Ambros,</div>
      <div><br>
      </div>
      <div>    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 <a class="code"
href="http://scip.zib.de/doc/html/group__PublicBranchingMethods.php#gabb0e80df81b921f02e8d63ec44de609c"
          target="_blank" moz-do-not-send="true"><u><font
              color="#0066cc">SCIPbranchVar</font></u></a> method inside
        this branching). Then the searching steps into BRANCHEXECLP
        branching in which fractional variable values are available. </div>
      <div><br>
      </div>
      <div>    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 ?</div>
      <div><b><br>
        </b></div>
      <div>    Some displaying information are listed:</div>
      <div><br>
      </div>
      <div>--------------------------------------------------------------------------------------------------------------------------</div>
      <div>SCIP> read data/data.scp</div>
      <div>read problem <data/data.scp><br>
        ============</div>
      <div>original problem has 5 variables (5 bin, 0 int, 0 impl, 0
        cont) and 15 constraints<br>
        SCIP> optimize</div>
      <div>feasible solution found by trivial heuristic after 0.0
        seconds, objective value 5.000000e+04<br>
        presolving:<br>
           (0.0s) probing cycle finished: starting next cycle<br>
        presolving (1 rounds: 1 fast, 1 medium, 1 exhaustive):<br>
         0 deleted vars, 0 deleted constraints, 0 added constraints, 0
        tightened bounds, 0 added holes, 0 changed sides, 0 changed
        coefficients<br>
         0 implications, 0 cliques<br>
        presolved problem has 5 variables (5 bin, 0 int, 0 impl, 0 cont)
        and 15 constraints<br>
             15 constraints of type <setppc><br>
        transformed objective value is always integral (scale: 1)<br>
        Presolving Time: 0.01<br>
        transformed 1/1 original solutions to the transformed problem
        space</div>
      <div> time | node  | left  |LP iter|LP it/n| mem |mdpt |frac |vars
        |cons |cols |rows |cuts |confs|strbr|  dualbound   |
        primalbound  |  gap   <br>
          0.0s|     1 |     0 |    12 |     - | 918k|   0 |   0 | 110 | 
        15 | 110 |  15 |   0 |   0 |   0 |      --      | 5.000000e+04
        |    Inf <br>
        r 0.0s|     1 |     0 |    12 |     - | 921k|   0 |   0 | 110 | 
        15 | 110 |  15 |   0 |   0 |   0 |      --      | 5.000000e+00
        |    Inf <br>
          0.0s|     1 |     0 |    12 |     - | 921k|   0 |   0 | 110 | 
        15 | 110 |  15 |   0 |   0 |   0 |      --      | 5.000000e+00
        |    Inf <br>
        [src/branch_scp.c:219] debug: start BRANCHEXECPS branching ! <br>
        [src/branch_scp.c:356] debug:  -> 110 candidates, selected
        candidate 109: variable <><br>
          0.0s|     1 |     2 |    12 |     - | 922k|   0 |   0 | 110 | 
        15 | 110 |  15 |   0 |   0 |   0 |      --      | 5.000000e+00
        |    Inf <br>
        [src/branch_scp.c:219] debug: start BRANCHEXECPS branching ! <br>
        [src/branch_scp.c:356] debug:  -> 109 candidates, selected
        candidate 108: variable <><br>
        [src/branch_scp.c:219] debug: start BRANCHEXECPS branching ! <br>
        ......<br>
        [src/branch_scp.c:356] debug:  -> 62 candidates, selected
        candidate 61: variable <><br>
        [src/branch_scp.c:219] debug: start BRANCHEXECPS branching ! <br>
        [src/branch_scp.c:356] debug:  -> 61 candidates, selected
        candidate 60: variable <></div>
      <div><br>
        [src/branch_scp.c:77] debug:  start BRANCHEXECLP branching
        ![src/branch_scp.c:85] debug: start branching at node 96, depth
        50</div>
      <div>.............<br>
      </div>
      <div>--------------------------------------------------------------------------------------------------------------------------</div>
      <div><br>
      </div>
      <div>    Thank you.</div>
      <div><br>
      </div>
      <div>    With best regards!</div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div>-----------------------------------------------</div>
      <div>Your sincerely follower, Zhu Waiming</div>
      <div><a class="moz-txt-link-abbreviated" href="mailto:zhuwaiming@mail.hfut.edu.cn">zhuwaiming@mail.hfut.edu.cn</a></div>
      <div>Hefei University of technology, China</div>
      <div>orcid.org/0000-0001-7134-6584<br>
        <a href="https://www.researchgate.net/profile/Zhu_Waiming"
          target="_blank" moz-do-not-send="true"><u><font
              color="#0066cc">https://www.researchgate.net/profile/Zhu_Waiming</font></u></a><br>
        2017-12-04<br>
      </div>
      <div><b><i><u><br>
            </u></i></b></div>
      <div><br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Scip mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Scip@zib.de">Scip@zib.de</a>
<a class="moz-txt-link-freetext" href="https://listserv.zib.de/mailman/listinfo/scip">https://listserv.zib.de/mailman/listinfo/scip</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>