help-glpk
[Top][All Lists]
Advanced

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

[Help-glpk] operand has invalid type


From: Leonard, Tim
Subject: [Help-glpk] operand has invalid type
Date: Mon, 22 Oct 2007 13:54:07 -0400

I'm getting "operand following / has invalid type" on line 9
(Hardness[p]/Speed[a]) of this program.  I confess to being baffled by
the rules about vars and params.  Would you be so kind as to try to
explain.


set Algorithm;
set Problem;

var Speed {Algorithm} >= 0;
var Hardness {Problem} >= 0;

param MeasuredTime {p in Problem, a in Algorithm};
param PredictedTime {p in Problem, a in Algorithm} := 
  Hardness[p] / Speed[a];

var AbsoluteError {Problem, Algorithm};
s.t. BoundWhenErrorIsPositive {p in Problem, a in Algorithm}:
     AbsoluteError[p,a] >= PredictedTime[p,a] - MeasuredTime[p,a];
s.t. BoundWhenErrorIsNegative {p in Problem, a in Algorithm}:
     AbsoluteError[p,a] >= MeasuredTime[p,a] - PredictedTime[p,a];

param RelativeError {p in Problem, a in Algorithm} :=
  AbsoluteError[p,a] / PredictedTime[p,a];

minimize TotalError : sum {p in Problem, a in Algorithm}
RelativeError[p,a];

data;

set Algorithm := { "a1", "a2" };
set Problem   := { "p1", "p2" };
param MeasuredTime {p in Problem, a in Algorithm} :
       "a1" "a2"
  "p1"  10   20
  "p2"  40   50;

display Speed, Hardness;
end;




reply via email to

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