2

我试图找到最佳行为以实现以下公式的最大回报。程序正在运行,但输出与输入相同,这意味着代码有问题。

我试图定义价格弹性,我需要在高峰时段和低高峰时段找到最佳价格关税,这些时段是一天中定义的特定时间。高峰是16-23点,低峰是其余时间。我的问题是可以在约束中定义 if 语句吗?

Con4(hpd)$(if(ord(hpd)>15)and(ord(hpd)<23)).. P_H(hpd) =E= PHP;

Con5(hpd)$((ord(hpd)<16)and(ord(hpd)>22)).. P_H(hpd) =E= PLP;

万事如意,

4

1 回答 1

1

你快到了。你不需要写if(美元符号基本上是一个 if),只需要条件本身,就像在第二个等式中一样。第二个等式应该是or而不是and

一个小小的烦恼,我尝试使用.val而不是ord(),因为当集合不是从 1 开始时ord会变得混乱。 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;
于 2017-02-15T09:24:53.903 回答