[Scip] Changing the bounds of a FIXED variable

Gerald Gamrath gamrath at zib.de
Tue Mar 12 00:36:37 MET 2013


Hi Vivek,

1) Which point in the FAQ do you mean? If it suggests to fix variables 
in the context of branch-and-price, I need to check that this was 
changed or is clarified in the current FAQ. Anyway, please look into the 
new FAQ instead of the old one, there were a lot of new points added. I 
guess you use SCIP 3.0?
2) I'm still not really sure what you are doing. Do I understand you 
correctly that you read in the complete problem containing all 
variables, then remove these variables and price them back in 
dynamically? Or do you do some kind of reformulation in order to 
transfer the read-in problem into the RMP? If you are able to read in 
all master problem variables, I doubt that branch-and-price really 
helps, you should try to solve the complete MIP instead. How do you do 
the pricing? Do you solve some subproblem or do you just iterate over 
all possible variables? If you just want to speed up the LP solving, you 
could set the initial flag of the variables to FALSE, which means that 
the corresponding columns are not added to the LP at the beginning, but 
priced in dynamically.
Perhaps you can explain a bit more about your application and what 
exactly you want to do.

Best,
Gerald

On 11.03.2013 17:16, Vivek Periaraj wrote:
> Hi Gerald,
>
> Thanks.
>
> 1) Make sense. That's why I was unable to change them. I do this for pricing but I think that's a wrong approach.I was trying the approach suggested inhttp://scip.zib.de/doc-2.0.2/html/FAQ.html. I guess that's for earlier version and no longer applicable.
> 2) I want to delete variables before solving. The reason is I want to get the mapping of the variables in the RMP to be in sync with the variables in the original problem. So I first create the variables, get the variable pointers for each index for the variables of the original problem. At this point, I would like to delete those variables that are not part of the initial RMP. This way I could ensure the computations of the reduced costs and pricing of new variables to be mapped to the original problem. If I do SCIPdelVar(), it's marked for deletion but the variable data is still present in the problem. Can I achieve the same thing as what CPXdelsetcols() does in CPLEX?
>
> Regards,
> Vivek.
>
> ----- Original Message -----
>
> From: "Gerald Gamrath"<gamrath at zib.de>  
> To: "Vivek Periaraj"<vivek.periaraj at gmail.com>  
> Cc:scip at zib.de  
> Sent: Monday, March 11, 2013 9:29:51 PM
> Subject: Re: [Scip] Changing the bounds of a FIXED variable
>
> Dear Vivek,
>
> 1) If a variable is fixed to some value, both bounds get changed to that
> value. Why do you want to change the bounds afterwards? Do you want to
> relax them? That is not possible during the solving process (because it
> would mean that all the dual bound computed so far, nodes cut off, etc.
> might be wrong because they were based on the fixing).
> 2) During solving, you also cannot just delete variables, because of
> similar reasons and some more (the variable might be part of a solution,
> SCIP might have branched on it,...). However, you can mark them to be
> deleted automatically during pricing and if they aged out of the LP at
> the node where they were created, they will automatically be deleted, if
> possible. Please have a look at the FAQ where this is described in more
> detail:http://scip.zib.de/doc/html/FAQ.shtml#Q5.11  
>
> Best,
> Gerald
>
> On 11.03.2013 16:47, Vivek Periaraj wrote:
>> Hello,
>>
>> 1) Is there a way to change the bounds of a fixed variable? I fix it using SCIPfixVar() but SCIPchgVarLb() and SCIPchgVarUb() does not allow me to change the bounds.
>> 2) How to delete a variable from the problem object. If I do SCIPdelVar(), the variable is marked for deletion but it's not deleted from the problem object.
>>
>> Regards,
>> Vivek
>> _______________________________________________
>> Scip mailing list
>> Scip at zib.de  
>> http://listserv.zib.de/mailman/listinfo/scip  



More information about the Scip mailing list