bug-glpk
[Top][All Lists]
Advanced

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

[Bug-glpk] bug in function glpk (glpkmex)


From: John W. Eaton
Subject: [Bug-glpk] bug in function glpk (glpkmex)
Date: Fri, 14 Sep 2007 04:27:37 +0400

On 13-Sep-2007, address@hidden wrote:

| If one of the variables in the lb and ub constraints are set to be the 
| same,  the calculation will be wrong or complain about unable to set 
| the constraints.
| Here is an example:
| s=-1;
| c=[10,6,4]';
| a=[1,1,1;...
|    10,4,5;...
|    2,2,6];
| b=[100,600,300]';
| ctype=['U','U','U']';
| lb=[50 0,0]';
| ub=[500, 0, 300]';
| vartype=['C','C','C']';
| param.msglev=3;
| param.lpsolver=1;
| param.save=1;
| [xmin,fmin,status,extra]=glpk(c,a,b,lb,ub,ctype,vartype,s,param)
| -----------------------------------------------
| 
| This bug exist in the glpkmex, where the defining type of variables did 
| not considered lb[i] == ub[i].
|        //-- Define type of the structural variables
|       if (! freeLB[i] && ! freeUB[i])
|          lpx_set_col_bnds (lp, i+1, LPX_DB, lb[i], ub[i]); // if lb[i] 
| == ub[i], then status of LPX_DB, will be incorrect
| 
| Change it to       //-- Define type of the structural variables
|       if (! freeLB[i] && ! freeUB[i])
|          if (lb[i] != ub[i])    lpx_set_col_bnds (lp, i+1, LPX_DB, 
| lb[i], ub[i]);
|          else                    lpx_set_col_bnds (lp, i+1, LPX_FX, 
| lb[i], ub[i]);
| will solve the problem.

I checked in the following change for Octave.

Thanks,

jwe

Attachment: diffs
Description: Text document


reply via email to

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