If statement GAMS中的If函数
我一直在忙于一个模型,但我对结果感到不安,因为我认为GAMS违反了约束。我想告诉GAMS的是: “先检查需求->然后检查现有库存->如果现有库存中有足够的库存出售->如果现有库存中没有足够的库存,则先购买(生产)然后出售。” 我认为,在模型中,GAMS不遵守任何需求(销售),任何最低价值,销售任何东西而不购买任何东西 模型如下所示:If statement GAMS中的If函数,if-statement,gams-math,If Statement,Gams Math,我一直在忙于一个模型,但我对结果感到不安,因为我认为GAMS违反了约束。我想告诉GAMS的是: “先检查需求->然后检查现有库存->如果现有库存中有足够的库存出售->如果现有库存中没有足够的库存,则先购买(生产)然后出售。” 我认为,在模型中,GAMS不遵守任何需求(销售),任何最低价值,销售任何东西而不购买任何东西 模型如下所示: Sets i items /s,p,b/ t time in quarters /1,2,3/ Parameters price(i) selli
Sets
i items /s,p,b/
t time in quarters /1,2,3/
Parameters
price(i) selling price per unit i per quarter in euros /s 6.34, p 6.46, b 5.93/
inistock(i) initial stock in units /s 320000, p 296199, b 104208/
cap(i) capacity limit for each unit /s 400000, p 350000, b 150000/
c cost of holding 1 unit of i /s 10, p 15, b 12/
Scalars
tcap total capacity of warehouse /650000/
Variables
stock(i,t) stock stored at time t
sell(i,t) stock sold at time t
buy(i,t) stock bought at time t
cost total cost
Positive Variables stock,sell,buy
Equations
cst total cost occurs
stck(i,t) stock balance of unit i at time t;
cst.. cost=e=sum((i,t),price(i)*(buy(i,t)-sell(i,t))+c(i)*stock(i,t));
stck(i,t).. stock(i,t)=e=inistock(i)+stock(i,t-1)+buy(i,t)-sell(i,t);
stck.up(i,t)=tcap;
Option LP=Cplex ;
Option optcr=0;
Model TWH The Warehouse Problem / all /;
Solve TWH minimizing cost using lp;
提前感谢您的支持 您没有设置任何需求约束,唯一的最小值是将变量定义为正的零界限 您希望GAMS遵守什么其他约束 出售所有东西是解决您定义的问题的正确方法 我也认为这部分是一个错误:
stck.up(i,t)=tcap;
你可能想写“股票”而不是“股票”。
如果这是一个下限(写“lo”而不是“up”),您将遇到一个非常重要的解决方案问题,因为您正在添加仓库应填充到最大容量的约束。您没有设置任何需求约束,唯一的最小值是将变量定义为正的零边界 您希望GAMS遵守什么其他约束 出售所有东西是解决您定义的问题的正确方法 我也认为这部分是一个错误:
stck.up(i,t)=tcap;
你可能想写“股票”而不是“股票”。
如果这是一个下限(写“lo”而不是“up”),您将遇到一个非常重要的解决方案问题,因为您正在添加一个仓库应填充到最大容量的约束