我试图找到最佳行为,以便获得以下公式的最大回报。程序正在运行,但输出与输入相同,这意味着代码出错。
我试图定义价格弹性,我需要在高峰期和低峰时间找到最优价格关税,这些关税是当天的特定时段。高峰是16-23点钟,低峰值是其余时间。我的问题是可以在约束中定义if语句吗?
Con4(hpd)$(if(ord(hpd)> 15)和(ord(hpd)< 23)).. P_H(hpd)= E = PHP;
Con5(hpd)$((ord(hpd)< 16)和(ord(hpd)> 22)).. P_H(hpd)= E = PLP;
一切顺利,
答案 0 :(得分:0)
你快到了。你不需要写如果(美元符号基本上是一个if),只需要条件本身,如第二个等式。第二个等式应该是或而不是和。
小小的烦恼,我尝试使用 .val 而不是 ord(),因为 ord 变得凌乱从1.开始,Val给出一个集合元素的数值,假设设定元素是数字。
Con4(hpd)$(hpd.val>=16 and hpd.val<=22).. P_H(hpd) =E= PHP;
Con5(hpd)$(hpd.val<16 or hpd.val>22).. P_H(hpd) =E= PLP;