//目录

目标规划的序贯算法

目标规划的序贯算法

 

 

但是目标规划就和人们的生活生产是差不多的,更加灵活。

过程:

 

仔细阅读Lingo程序后,还是发现了他的规律。

model:
sets:
variable/1..2/:x;
S_Con_Num/1..4/:g,dplus,dminus;
S_con(S_Con_Num,Variable):c;
endsets
data:
g=1500 0 16 15;
c=200 300 2 -1 4 0 0 5;
enddata
min=dplus(2)+dminus(2);    !二级目标函数;
2*x(1)+2*x(2)<12;
@for(S_Con_Num(i):@sum(Variable(j):c(i,j)*x(j))+dminus(i)-dplus(i)=g(i));
dminus(1)=0;!一级目标约束;
@for(variable:@gin(x));
end

虽然lingo写的少,但是看懂以后,还是可以考虑去换一下MATLAB编程。

从二级目标函数说起,目标函数是原来的目标函数的一部分,然后列不等式,加上之前的式子(之前求出来的第一级偏差),然后做线性规划(个人觉得应该是整数规划),依次类推到后面的优先级。

算法还是很简单,有一定的科学性(书上也说了这不是最优解),因为他的前两步操作尽可能的做好规划,最后一步当然也有可能推翻前面的等式。其过程就是一个贪心。

posted @ 2018-01-18 11:17  小草的大树梦  阅读(3259)  评论(0编辑  收藏  举报