作者编程时遇到了如下问题,经过以下的方法可以用gurobi把程序跑出来,但是Cplex还是不能运行,希望能在后续进行解决
初始定义
Ft=sdpvar(1,T); %系统总输出功率
VRE=sdpvar(1,T); %新能源输出功率
约束条件
St = [St,VRE/Ft>=0.9)];
然后就会报:Warning: Solver not applicable (gurobi does not support does not support signomial constraints)
翻译出来时:gurobi和cplex不能用符号约束,但是很难理解:什么是符号约束?怎么改才能让程序跑通?
经调试,只要把等式一侧有两个变量相乘/相除换成一侧有一个变量即可
St = [St,VRE>=Ft*0.9)];
笔者觉得这样的原因是gurobi不能识别变量/变量的表达方式,但是如果用普通的约束表述就能让gurobi识别出来