[Coin-bcpdiscuss] Both cut and variables generation

tle at purdue.edu tle at purdue.edu
Thu May 3 10:06:38 EDT 2007


Hi Laszlo,

I found out the  "process_lp_result" function that has both cuts and vars 
generation. Do you think that i can use it for my case?

Thanks

Tung Le 
PhD student
Purdue University
-----------------------------
BCP_lp_user::process_lp_result  ( const BCP_lp_result &  lpres,  
		  const BCP_vec< BCP_var * > &  vars,  
		  const BCP_vec< BCP_cut * > &  cuts,  
		  const double  old_lower_bound,  
		  double &  true_lower_bound,  
		  BCP_solution *&  sol,  
		  BCP_vec< BCP_cut * > &  new_cuts,  
		  BCP_vec< BCP_row * > &  new_rows,  
		  BCP_vec< BCP_var * > &  new_vars,  
		  BCP_vec< BCP_col * > &  new_cols   ) 

----------------------

Quoting Laszlo Ladanyi <ladanyi at us.ibm.com>:

> Hi Tung,
> 
> Unfortunately you cannot generate both cuts and variables in the same
> iteration, and the reason is exactly what you describe. In each iteration
> you
> got to decide which one you generate. 
> 
> It'd be possible to extend bcp to handle generating both, but it would have
> other undesirable consequences, like if in an iteration you generate only
> cuts
> then you know the objective value can only increase, and if you generate
> only
> vars then the objective can only decrease. That information might come
> handy.
> Also, a cut that was violated now may not be violated at all if you include
> the vars generated in the same iteration and reoptimize. Or vice versa, a
> generated var may not have negative reduced cost if cuts generated in the
> same
> iter would have been included in the optimization. I think it's just cleaner
> to generate only one kind in any given iteration...
> 
> Sorry for the bad news and I hope my reasons for not implementing what you'd
> like are convincing enough. Still if you believe the ability would help for
> your problem and you want to add the option then go ahead and I'll merge
> your
> changes to the base code.
> 
> Cheers,
> --Laci
> 
> On Wed, 2 May 2007 tle at purdue.edu wrote:
> 
> > Hi,
> > 
> > My program generates new cuts and variables at each pricing iteration.
> > Therefore, i need to use both " vars_to_cols" and "cuts_to_rows" at same
> time.
> > Problem is that:
> > 
> > - "vars_to_cols"  works for active vars and old cuts ( not including active
> 
> > cuts)
> > - "cuts_to_rows" works for active cuts and old variables ( not including 
> > active vars)
> > 
> > Therefore, i dont' know how to define the coefficients intersecting by
> active 
> > cuts and active vars.
> > 
> > Pls help me
> > Thanks
> > Tung Le
> > PhD student
> > Purdue University
> > 
> > 
> > _______________________________________________
> > Coin-bcpdiscuss mailing list
> > Coin-bcpdiscuss at list.coin-or.org
> > http://list.coin-or.org/mailman/listinfo/coin-bcpdiscuss
> > 
> 
> 





More information about the Coin-bcpdiscuss mailing list