# [Coin-discuss] Set objective coefficients

Fri Jun 30 16:55:02 EDT 2006

Hi Michal,

Yes and no... What I described is true for BCP itself. BCP uses a LP solver as
its lower bounding procedure inside, and there is no restriction on what that
solver does. It can very well be based on Lagrangean multipliers (in fact, BCP
works well when the LP solver is the Volume algorihm -- also from COIN).
However, the objective adjustment must be internal to the LP solver.

I hope this made things clearer (and more promising for you :-)

--Laci

On Fri, 30 Jun 2006, Michal Kaut wrote:

> Hi Laszlo,
>
> does this mean that it is not possible to implement algorithms based on
> Lagrangian multipliers? That would be very unfortunate...
>
> (I mean methods when you take constraints g_k(x)=0 and place them into
> the objective as min \lambda_k g_k(x), or sometimes \lambda_k g_k^2(x).
> The problem is then solved in a loop, starting with lambda equal to
> zero, and then slowly increasing their values.
> These methods are quite common (and, indeed, crucial) in some areas of
> optimization.)
>
> I sincerely hope I am wrong in interpreting your remarks.
>
> Regards,
> Michal Kaut
>
>
> > Hi Heesu,
> >
> > It's doable, but I would strongly advise against it. If you change the obj
> > coeff on the fly then you can kiss good-bye to all the bound assumptions, the
> > optimality of the LP solution, and who knows what else... The worst among the
> > "what else" is that the change you make will affect only the local LP solver
> > process and won't make its way to the TM, So the next time you see to same
> > variable in a different node you'll have to do the change once again. Keeping
> > track of all the changes across process search tree nodes would be a
> > nightmare.
> >
> > The correct way to achive what you want is to create a new variable with a
> > different objective and add that to the formulation (if you want to exclude
> > the original one then set its upper bound to 0, that is carried to the
> > descendants of the search tree node).
> >
> > If you *really* want to change the obj value, email me and I'll try to dig up
> > what data you must change to maintain consistency, but I must emphasize that
> > you'll be in deep, uncharted waters and I'm not sure whether it is possible.
> >
> > --Laci
> >
> > On Thu, 29 Jun 2006, Heesu Hwang wrote:
> >
> >> Hi, all.
> >>
> >> I wonder if we can change the objective coefficients once generated variables
> >> are inserted into the problem matrix.
> >> I tried XX_var.set_obj(), but "const BCP_vec<BCP_var*>& vars" contains constant
> >> BCP_var's and doesn't allow to do that.
> >> Could you give me any tips for changing objective coefficients?
> >>
> >> Thanks,
> >>
> >> Heesu Hwang.
> >>
> >> _______________________________________________
> >> Coin-discuss mailing list
> >> Coin-discuss at list.coin-or.org
> >> http://list.coin-or.org/mailman/listinfo/coin-discuss
> >>
> >
> > _______________________________________________
> > Coin-discuss mailing list
> > Coin-discuss at list.coin-or.org
> > http://list.coin-or.org/mailman/listinfo/coin-discuss
> _______________________________________________
> Coin-discuss mailing list
> Coin-discuss at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-discuss
>