[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-glpk] min{} over empty set; result undefined
From: |
Andrew Makhorin |
Subject: |
Re: [Bug-glpk] min{} over empty set; result undefined |
Date: |
Fri, 19 Dec 2008 09:47:28 +0300 |
> I received the error
> min{} over empty set; result undefined
> for the following statement.
> param ti{i in O} := max( ti0[i] , min( ta0[i], min{(i,j) in V diff I }
> ti0[j]) - d[i] );
> Currently for operations over sets in GLPK the following definitions
> have been made:
> prod{i in {}} i = 1;
> sum{i in {}} = 0;
> because 1 and 0 are the neutral elements for the operations * and +.
> It would be useful to add by definition:
> max{i in {}} i = -DBL_MAX; # -infinity
> min{i in {}} i = DBL_MAX; # infinity
> because -infinity and infinity are the neutral elements for the
> operations max and min.
Unlike 0 and 1, which are numbers, "infinity" is not a number; it is
just a symbol to denote something undefined. Formally, we cannot
operate with "infinity" in the same way as with numbers, and extending
ordinary numeric operations on "infinity" is mathematically incorrect.
In MathProg "Inifinity" is used only as a flag to indicate that some
subscripted variable or constraint has no lower/upper bound, because
due to the syntax it is impossible to express that in other way
(though this feature is not completely implemented and therefore is
not documented).
> This can save using "if" expressions in cases as the one above.