help-glpk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-glpk] Formulate a large scale linear programing model by reduc


From: Michael Hennebry
Subject: Re: [Help-glpk] Formulate a large scale linear programing model by reducing the number of similar constraints and keeping them all satisfied
Date: Thu, 8 Sep 2016 12:19:30 -0500 (CDT)
User-agent: Alpine 1.00 (DEB 882 2007-12-20)

On Thu, 8 Sep 2016, usa usa wrote:

On Thu, Sep 8, 2016 at 1:23 AM, Michael Hennebry <
address@hidden> wrote:

No need to get rid of T.
Getting rid of the K_j's is easy:
Replace Constraint A and constraints C with

D:
T +  SUM   (SUM V_j_i*X_i - T)  <= SUM Q*P_i*X_i   for all S subsetof 1..L
    j in S  i in 1..N

This is 2**L constraints.
For given values of X and T,
a most violated is D_S with S = { j in 1..L: SUM V_j_i*X_i - T > 0 }


  A: replacing K_j in Constraint A can reduce the number of constraints in
the beginning, but how to reduce the size of D_S at each iteration so that
the algorithm can be convergent.
Otherwise, the number of violated "K_j >= SUM V_j_i*X_i - T       j in 1..L"
constraints cannot be reduced efficiently at each iteration. The model size
is still large.

Without the K's, you only have N+1 decision variables.
At optimiality, you will need at most N+1 of the D constraints.
There is no need to find all violated D constraints.
That you can find one if there is one is
sufficient to guarantee convergeance.

No promises on how long convergeance will take.
Before optimialty, you might find a lot of most
violated constraints that are not needed at optimality.
Usually it is mathematically allowed to
drop a D constraint once it goes slack.
Degeneracy can change that.
Drop a D constraint only if it is slack and the objective has
changed significantly since said constraint was last tight.


--
Michael   address@hidden
"Sorry but your password must contain an uppercase letter, a number,
a haiku, a gang sign, a heiroglyph, and the blood of a virgin."
                                                             --  someeecards



reply via email to

[Prev in Thread] Current Thread [Next in Thread]