<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi Markus,<br>
<br>
that means you create the cuts based on the LP rows of the master
problem? Did I understand you correctly that you want to save for
each created cut the set of rows used to create that cut and use
that information to take the cut into account in the pricing problem
(getting the master constraint for it, then getting the
corresponding original constraint and using that to update the
objective of the pricing problem)?<br>
<br>
If this is the case, I would suggest you try to separate the
solution in the original space and transfer the original cut into
the master problem. This is what the master separator of GCG already
does for some separators (mainly the combinatorial ones).<br>
The zerohalf cut separator is so far not used in this context.
However, this is mainly a technical issue: the separator does not
implement the sepaexecsol callback needed for that. But I think this
should be easy to add to the separator, Jonas Witt might even have
this laying around somewhere. If this works and is sufficient for
you, it should be very convenient because you do not need to care
about how the pricing objective is updated.<br>
<br>
On the other hand, you could also run your separation algorithm not
on the rows but on the constraints and also store for each cut the
constraints used to create it instead of the rows.<br>
<br>
Best,<br>
Gerald<br>
<br>
<br>
<div class="moz-cite-prefix">Am 02.04.2014 10:42, schrieb Markus
Kruber:<br>
</div>
<blockquote
cite="mid:CAHXvRrXyuNgchOgVc0ZK02SJ94jofnOYKBYQgWCrgki1yuXGBA@mail.gmail.com"
type="cite">
<div dir="ltr">
<div>
<div>Hi Gerald,<br>
<br>
<span lang="en"><span>thanks</span> <span>for the quick
response. <br>
<br>
</span></span> <span lang="en"><span>We are working on
the separation of zerohalf cuts in branch-and-price and
we want to implement this in GCG. Therefore, we extended
SCIP's zerohalf separator. At the moment we store for
each zerohalf cut </span></span><span lang="en"><span><span
lang="en"><span>the corresponding coefficients of the
lprows which were used to create the zerohalf cut.
We want to use this information in the pricing
problem in order to include the zerohalf cuts
correctly in the branch-price-and-cut procedure. <br>
<br>
The problem is that in GCG we only calculate a
variable's coefficients corresponding to the
constraints and not to the rows </span></span></span></span><span
lang="en"><span><span lang="en"><span>of the master
problem. </span></span></span></span><span
lang="en"><span><span lang="en"><span>This is why it would
be helpful to have the constraints corresponding to
the rows that were used to create a zerohalf cut.
But maybe we can access this information by using
SCIPgetRowLinear() and getting the corresponding
coefficient of the row. If our problem only contains
linear constraints (which it does since the master
problem in GCG only constains linear constraints),
each row corresponds to one linear constraint and
this should work. Do you agree with that?<br>
<br>
</span></span></span></span></div>
<span lang="en"><span><span lang="en"><span>Regards,<br>
</span></span></span></span></div>
<span lang="en"><span><span lang="en"><span>Markus<br>
</span></span></span></span></div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">2014-04-01 9:06 GMT+02:00 Gerald
Gamrath <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:gamrath@zib.de" target="_blank">gamrath@zib.de</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> Dear Markus,<br>
<br>
there is no such method in SCIP. The reason for this is,
that in a general CIP setting, there is no one-to-one
correspondence between constraints and rows. An "and"
constraint, for example can add multiple rows to get a
tighter relaxation of the constraint in the LP. The
knapsack constraint handler, on the other hand, separates
knapsack cover cuts, so generates multiple rows as well,
even if the initial LP relaxation is just one row. Even
more, a constraint handler could also separate cuts based
on more than one constraint of its type.<br>
<br>
Therefore, there is no general method for this. "<a
moz-do-not-send="true">SCIPgetRowLinear</a>" is
implemented in the linear constraint handler, which knows
at that point that it creates exactly one row for each
constraint and therefore can return the row.<br>
<br>
What was it you wanted to do? Perhaps you can just work on
the row (you can get the columns there and also get the
variable for a column by "SCIPcolGetVar") or work directly
on the linear constraints?<br>
<br>
Best,<br>
Gerald<br>
<br>
<div>Am <a moz-do-not-send="true"
href="tel:31.03.2014%2019" value="+13103201419"
target="_blank">31.03.2014 19</a>:13, schrieb Markus
Kruber:<br>
</div>
<blockquote type="cite">
<div>
<div class="h5">
<div dir="ltr">
<div>
<div>Dear all,<br>
<br>
</div>
I have given a row in my LP which belongs to a
linear constraint. Now I am looking for a method
which returns me this linear constraint. <br>
I already have found the method "<a
moz-do-not-send="true">SCIPgetRowLinear</a>".
In my understanding the other direction.<br>
</div>
<div><br>
</div>
<div>Best regards,<br>
</div>
Markus</div>
<br>
<fieldset></fieldset>
<br>
</div>
</div>
<pre>_______________________________________________
Scip mailing list
<a moz-do-not-send="true" href="mailto:Scip@zib.de" target="_blank">Scip@zib.de</a>
<a moz-do-not-send="true" href="http://listserv.zib.de/mailman/listinfo/scip" target="_blank">http://listserv.zib.de/mailman/listinfo/scip</a>
</pre>
</blockquote>
<br>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</body>
</html>