[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug-glpk] [Fwd: uncaught self reference in model's param line crashes g
From: |
Andrew Makhorin |
Subject: |
[Bug-glpk] [Fwd: uncaught self reference in model's param line crashes glpsol v4.55] |
Date: |
Sun, 05 Mar 2017 19:10:16 +0300 |
-------- Forwarded Message --------
From: address@hidden
To: address@hidden
Cc: address@hidden
Subject: uncaught self reference in model's param line crashes glpsol
v4.55
Date: Sun, 05 Mar 2017 15:26:21 +0000
First off, I would like to thank you for sharing such a great tool with the
rest of the world!
On to the bug report.
I have noticed that glpsol reproducibly crashes on a debian wheezy box
$ glpsol --version | head -1
GLPSOL: GLPK LP/MIP Solver, v4.55
if a model's param line contains a self reference.
While the following model is OK
param A_symbolic{1..2, 1..2}, default -1;
param A{i in 1..2, j in 1..2} :=
(if A_symbolic[i,j]=1 then 1.2 else
(if A_symbolic[i,j]=2 then 3.4 else
A_symbolic[i,j] ));
solve;
for {i in 1..2} { for {j in 1..2} {printf "%5.2f ",A[i,j];} printf "\n"; }
data;
# if A_symbolic[i,j] = 1 then A[i,j] is 1.2
# if A_symbolic[i,j] = 2 then A[i,j] is 3.4
# else A[i,j] is A_symbolic[i,j]
param A_symbolic: 1 2 :=
1 0 1
2 2 0 ;
end;
a self reference in the definition of the A parameter is not caught by
glpsol, which causes the program to crash with a segmentation violation error:
param A_symbolic{1..2, 1..2}, default -1;
param A{i in 1..2, j in 1..2} :=
(if A_symbolic[i,j]=1 then 1.2 else
(if A_symbolic[i,j]=2 then 3.4 else
A[i,j] ));
solve;
for {i in 1..2} { for {j in 1..2} {printf "%5.2f ",A[i,j];} printf "\n"; }
data;
# if A_symbolic[i,j] = 1 then A[i,j] is 1.2
# if A_symbolic[i,j] = 2 then A[i,j] is 3.4
# else A[i,j] is A_symbolic[i,j]
param A_symbolic: 1 2 :=
1 0 1
2 2 0 ;
end;
The only difference between the two models was:
$ diff glpsol_*mod
5c5
< A[i,j] ));
---
> A_symbolic[i,j] ));
Any ideas?
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug-glpk] [Fwd: uncaught self reference in model's param line crashes glpsol v4.55],
Andrew Makhorin <=