线性规划问题

    技术2022-07-10  93

    官方文档

    使用linprog()函数前需要化为标准型

    说人话就是

    目标函数改成求最小 不等式改成小于等于

    如果是原本是求最大的,想要换成求最小值你就把目标函数右边乘以一个 -1 ,(负数最小的时候绝对值最大),具体到matlab上,就是f写成 -f,最后把返回的x带入到原目标函数即可,即x*f

    下面是样例,我们后面开始逐一讲解

    下面的x统一返回的是目标函数取最优时的坐标,并且是列向量

    x=linprog(f,A,b)(最简单形式)

    不相同的不等式的系数用分号间隔(回车也行)

    b在这里是不等式对应小于等于的常数,依次顺下来的

    目标函数

    最后使用linprog(目标函数,不等式系数矩阵,不等式常数向量)

    x=linprog(f,A,b,Aeq,beq)(含有等式)

    在上面的代码基础上,加上下面这两段代码

    x=linprog(f,A,b,Aeq,beq,lb,ub)(同时含有上下限)

    lb是下限向量lower bounds ub是上限向量upper bounds

    [x,fval]=linprog(c,A,b,Aeq,beq,LB,UB,X0)(较常用形式)

    x是取最优值对应的坐标 fval是最优值 X0是决策变量的初始值

    如果有以下初始值 则加上最后一句

    Processed: 0.009, SQL: 9