[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* **<=**