条件语句使用优化变量怎么办?

25日视图(30天)
嗨,我可以使用优化变量执行逻辑比较吗?
我试过下面这个代码优化使用PbattV优化变量,但错误:
成本=科斯塔。* (PbattV < = 200) + Costb。* (PbattV > = 200);
P1成本= dt *的* PbattV;
P2成本= dt *的* PbattV;
P = P1-P2;
概率。ObjectiveSense =“最小化”;
概率。目标= P;
运行时发生一个错误造成的模拟和仿真终止:*请帮助如果你有任何的建议
基本上我需要检查如果Pbatt是积极的还是消极的,因此我不得不选择成本和使用目标函数;

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2021年5月4日
成本=科斯塔。* (PbattV < = 200) + Costb。* (PbattV > = 200);
优化变量不能被转换为逻辑值。唯一一次可以比较一个优化变量的值构造一个约束。
放弃尝试代码的比较运算符: 成功。
如果有一个解决方案,那么它将涉及使用数学技巧如sqrt (x ^ 2) / x的迹象(x)
17日评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年8月21日
当你有不连续的衍生品,MATLAB支持的选择是:万博1manbetx

登录置评。

更多的答案(0)

类别

找到更多的在线性规划和整数线性规划帮助中心文件交换

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!