zoukankan      html  css  js  c++  java
  • 目标规划的序贯算法

    目标规划的序贯算法

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

    过程:

    仔细阅读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编程。

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

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

  • 相关阅读:
    T-sql 中 truncate 、delete与drop操作数据库的区别
    poj -3070 Fibonacci (矩阵快速幂)
    给定一个0-1串,请找到一个尽可能长的子串,其中包含的0与1的个数相等。
    最长的循环节
    大组合数取模
    n个点中求任意两点组成斜率的最大值
    csu
    csu
    poj
    hdu
  • 原文地址:https://www.cnblogs.com/TreeDream/p/8309233.html
Copyright © 2011-2022 走看看