使用matlab进行线性规划求解时,通常拥有如下的模型标准格式:
同时具有对应的规划求解表达公式为:
x = linprog(f,A,b)
x = linprog(f,A,b,Aeq,beq)
x = linprog(f,A,b,Aeq,beq,lb,ub)
x = linprog(f,A,b,Aeq,beq,lb,ub,options)
在求解过程中只需要把对应的f,A,b,Aeq,beq…等内容表达出来,再用上述表达公式加以求解即可。
在上篇文章/使用Yalmip+matlab求解主从博弈(双层规划)问题 | 教程(二)提到的求解主从博弈模型时,具有代码
OO=-(details.b'*details.dual+details.f'*details.dualeq)+sum(price_s.*Ps_day-price_day_ahead.*Pb-price_b.*Pb_day);%目标函数
那么,其中的details.b details.dual等具体是什么呢?
打开变量’details’,可以看到关于details的各类信息,
其中info处具有如下内容:
min c'x
s.t. Ax<b
Ex=f
因此,我们可以将detail处的各类信息与文中表达式一一对应:
文中的目标表达式为:
内层的目标表达式为;
显然可以发现,目标函数中关于detail的内容可以与数学规模模型中的内容一一对应。