函数:[x, fval] = linprog(f, A, b, Aeq, Beq, LB, UB)

返回的x:是一个向量——在取得目标函数最小时各个xi的取值;

返回的fval:目标函数的最小值;

参数f:目标函数的系数矩阵;

参数A:不等式约束的系数矩阵;

参数b:不等式约束右端的常数列;

参数Aeq:等式约束的系数矩阵,若没有等式约束,则Aeq = [];

参数Beq:等式约束右端的常数列,若没有等式约束,则Beq = [];

参数LB:x的下界,常遇到的x1, x2, x3 >= 0,0就是下界,可用zeros(3, 1)生成一个3行1列的向量来表示,其中向量的每个元素的值为0;

参数UB:x的上界;

-------------------------------------------------------------------------------------------------------------

求z的最小值及z取得最小值时x的取值:

min z = -5x1 - 4x2 - 6x3

约束条件:

x1 - x2 + x3 <= 20

3x1 + 2x2 + 4x3 <= 42

3x1 + 2x2 <= 30

0 <= x1, 0 <= x2, 0 <= x3

-------------------------------------------------------------------------------------------------------------

编写.m文件:

f = [-5; -4; -6];
A = [1 -1 1; 3 2 4; 3 2 0];
b = [20; 42; 30];
Aeq = [];
Beq = [];
LB = zeros(3, 1);
[x, favl] = linprog(f, A, b, Aeq, Beq, LB)

保存运行,得

x =

    0.0000
15.0000
3.0000 favl = -78.0000

-------------------------------------------------------------------------------------------------------------

求z的最大值及z取得最大值时x的取值:

max z = 2x1 + 3x2 - 5x3

约束条件:

x1 + x2 + x3 = 7

2x1 - 5x2 + x3 >= 10

x1, x2, x3 >= 0

-------------------------------------------------------------------------------------------------------------

编写.m文件:

f = [-2; -3; 5];        %转换成求负形式的最小值
A = [-2 5 -1]; %原>=号,两边同乘-1,转成标准形式
b = [-10]; %原>=号,两边同乘-1,转成标准形式
Aeq = [1 1 1];
Beq = [7];
LB = zeros(3, 1);
[x, fval] = linprog(f, A, b, Aeq, Beq, LB);
x
fval = -fval %将负形式的最小值转回原正形式的最大值

保存运行,得

x =

    6.4286
0.5714
0.0000 fval = 14.5714

线性规划问题的matlab求解的更多相关文章

  1. matlab 求解线性规划问题

    线性规划 LP(Linear programming,线性规划)是一种优化方法,在优化问题中目标函数和约束函数均为向量变量的线性函数,LP问题可描述为: minf(x):待最小化的目标函数(如果问题本 ...

  2. fslove - Matlab求解多元多次方程组

    fslove - Matlab求解多元多次方程组 简介: 之前看到网上的一些资料良莠不齐,各种转载之类的,根本无法解决实际问题,所以我打算把自己的学到的总结一下,以实例出发讲解fsolve. 示例如下 ...

  3. 用Matlab求解微分方程

    用Matlab求解微分方程 解微分方程有两种解,一种是解析解,一种是数值解,这两种分别对应不同的解法 解析解 利用dsolve函数进行求解 syms x; s = dsolve('eq1,eq2,.. ...

  4. yalmip + lpsolve + matlab 求解混合整数线性规划问题(MIP/MILP)

    最近建立了一个网络流模型,是一个混合整数线性规划问题(模型中既有连续变量,又有整型变量).当要求解此模型的时候,发现matlab优化工具箱竟没有自带的可以求解这类问题的算法(只有bintprog求解器 ...

  5. MATLAB求解线性规划

  6. MATLAB求解代数方程、微分方程的一些常用指令

    MATLAB版本:R2015b 1.求解符号矩阵的行列式.逆.特征值.特征向量 A = sym('[a11, a12; a21, a22]');deltaA = det(A)invA = inv(A) ...

  7. MATLAB求解二重积分案例

    凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 定积分解决的是一维连续量求和的问题,而解决多维连续量的求和问题就要用到重积分了.重积分是建立在定积分的基础上的 ...

  8. MATLAB求解非线性方程组

    matlab中有专门的solve函数来解决方程组的(a-x)^2+(b-y)^2=e^2(C-x)^2+(D-y)^2=v^2已知a,b,c,d,e,v 值求解 X,Y 请问用 matlab 如何写, ...

  9. matlab 求解 Ax=B 时所用算法

    x = A\B; x = mldivide(A, B); matlab 在这里的求解与严格的数学意义是不同的, 如果 A 接近奇异,matlab 仍会给出合理的结果,但也会提示警告信息: 如果 A 为 ...

随机推荐

  1. ERROR 1062 (23000): Duplicate entry '1-1' for key 'PRIMARY'

    这个错误是说,由于某个SQL操作造成了,表中主键重复. 例子: create table t(x int,y int,z int, primary key(x,y)); insert into t(x ...

  2. ThinkPHP中 按条件查询后列表显示

    最近在项目中遇到了需要根据下拉框的条件筛选出符合条件的数据,然后进行列表显示的问题. 在ThinkPHP中进行列表显示的传统过程:通过在后台控制器中查询出数据,然后通过$this->assign ...

  3. SendMessage基本认识

    SendMessage基本认识 函数功能:该函数将指定的消息发送到一个或多个窗口.此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回.而函数PostMessage不同,将一个消息寄送到一个线 ...

  4. C语言入门(2)——安装VS2013开发环境并编写第一个C语言程序

    在C语言入门系列中,我们使用Visual studio 2013 Professional作为开发工具.本篇详细介绍如何安装Visualstudio 2013 Professional并写出我们第一个 ...

  5. js类方法,对象方法,原型的理解(转)

    function People(name) { this.name=name; //对象方法 this.Introduce=function(){ alert("My name is &qu ...

  6. POJ 2799 IP Networks

    network address是前(32-n)随意 后n位全零 network mask是前(32-n)全一 后n位全零 本题主要利用位移操作,1ULL表示无符号长整型的常数1,这样写可防止不必要的溢 ...

  7. log file sync等待超高一例

    这是3月份某客户的情况,原因是server硬件故障后进行更换之后,业务翻译偶尔出现提交缓慢的情况.我们先来看下awr的情况. 我们能够看到,该系统的load profile信息事实上并不高,每秒才21 ...

  8. C#Excel导出导入

    using System; using System.Collections.Generic; using NPOI; using NPOI.HPSF; using NPOI.HSSF; using ...

  9. Java 字符串截取函数 substring()

    在String中有两个substring()函数,如下: 一:String.substring(int start) 参数: start:要截取位置的索引 返回: 从start开始到结束的字符串 例如 ...

  10. 防止自己的网站被别人frame引用造成钓鱼

    自己负责的某一网站,最近被不法份子通过<frame>的方式引入,用户点击对方的域名后,看到的内容跟自己网站一模一样.但是右击查看源码就会发现其中的原理: <!DOCTYPE HTML ...