[Top][All Lists]

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

Re: [Help-glpk] Are trivial constraint equations an issue?

From: Andrew Makhorin
Subject: Re: [Help-glpk] Are trivial constraint equations an issue?
Date: Tue, 15 May 2007 19:31:38 +0400

> Earlier Andrew Makhorin wrote (in relation to a Sudoku
> problem) (Message-ID: <address@hidden>):

>> Try using the option '--intopt' to enable the
>> mip presolver. It may reduce the problem size by
>> removing redundant rows and columns.

> I am working on a relatively literal energy system
> simulation.  Part of the model involves
> interconnected units transacting electricity,
> natural gas, district heat, and so on.  Ultimately
> a (directed acyclic) patchwork of classical
> network flow problems needs to be solved --
> together with a refinement to avoid low duty (less
> than say 50%) usage which thereby introduces binary
> variables to cover the shut-down status.

> The simulation generates a suitable GLPK problem
> using the GLPK C-language APIs.

> It would make my C++ coding easier if I could
> populate this model with a lot of trivial constraint
> equations which simply match the flows between units.
> For instance:

>   flow-from-generator = flow-to-transmission-line

> Is this sensible or would I be better advised to
> be resolve these variables before building the
> GLPK problem?

> Or will the following setting (GLPK 4.11 API)
> reduce the problem automatically:

>   lpx_set_int_parm(my_lpx, LPX_K_PRESOL, 1);

The efficiency of the lp presolver signficantly depends on the
structure of the problem to be presolved. However, if your model
is LP, not MIP, I think it is normal to build it in a natural way
without any preliminary transformations, even if that would lead
to redundant rows and columns or increase the number of them.
In particular, it is normal *not* to resolve trivial constraints,
because the lp presolver can do that.

> And will I need to introduce some special
> variables to cover gas supply from Russia?  :-)

Only if you want the objective function to be unpredictable.  ;)

Andrew Makhorin

reply via email to

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