<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Dear Behrouz,<br>
      <br>
      unfortunately, it is currently not possible to modify the
      objective coefficients of variables during the search, because
      this would mean that all previously computed dual bounds become
      invalid.<br>
      I assume you want to do this for implementing a dual variable
      stabilization? We are currently evaluating possibilities to
      implement this within SCIP such that you continue pricing even if
      you did not find an improving variable as long as the
      stabilization is active. But until now, this is not supported by
      SCIP.<br>
      <br>
      However, you could try a dual variable smoothing technique, which
      does not need auxiliary variables.<br>
      <br>
      The way you do it right now should also work, but has some
      drawbacks. It probably consumes a lot of memory, because all the
      old variables are kept. You could try to not only set the
      variables removable (from the LP), but also deletable (from the
      complete problem) by calling SCIPvarMarkDeletable(), see
<a class="moz-txt-link-freetext" href="http://scip.zib.de/doc/html/pub__var_8h.shtml#a3f47c9e7e057200e54e1b5858f5ca428">http://scip.zib.de/doc/html/pub__var_8h.shtml#a3f47c9e7e057200e54e1b5858f5ca428</a><br>
      Furthermore, you could set lp/cleanupcols and lp/cleanupcolsroot
      to TRUE, which - in addition to the colage limit - removes all
      non-basic variables from the LP (and then also the problem), at
      the end of the processing of one node. Please note that a variable
      that is in the LP after this cleanup phase will be part of the
      basis information and therefore cannot be removed from the LP
      afterwards. Additionally, fixing the old auxiliary variables to 0
      and introducing new ones destroys both primal as well as dual
      feasibility of you basis information, so the simplex algorithm
      cannot be warmstarted.<br>
      <br>
      Therefore, I would recommend to better try a dual variable
      smoothing technique, which often gives very good results as well.<br>
      <br>
      Best,<br>
      Gerald<br>
      <br>
      On 12.09.2013 17:11, Behrouz Babaki wrote:<br>
    </div>
    <blockquote
cite="mid:CAGUjNwmyjk6G0sp6AFQHdX+JVHbZjJ3s_4mnQFJUzeOUwDbo1g@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>Dear SCIP community,<br>
          <br>
          In my branch-and-price implementation in SCIP, I have a number
          of continuous variables that I have to modify multiple times.
          This should happen once every number of times that the pricing
          function is called. So, these variables are meant to be
          modified several times while the (progressively growing) LP is
          being solved. <br>
          <br>
          The modification involves changing the objective function
          values as well as variable bounds. I know that I can change
          the bounds using SCIPchgVarLb(...) and SCIPchgVarUb(...).
          However, I don't know how to change the objective function
          value while in SCIP_STAGE_SOLVING, especially when the lp has
          not been solved to optimality yet. <br>
          <br>
          So far, the only safe way that I have found for doing so is to
          fix all these variables to zero, and create another set with
          different objective function coefficients and different bounds
          within the pricing function. Also, By setting these variables
          as removable and reducing "lp/colagelimit" I hope that they
          are removed from the LP soon enough after they are fixed to
          zero. <br>
          <br>
          My question is that whether there is a better way for
          modifying the objective function values without having to
          remove and re-create the variables?<br>
          <br>
        </div>
        Behrouz<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="http://listserv.zib.de/mailman/listinfo/scip">http://listserv.zib.de/mailman/listinfo/scip</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>