一、线性规划问题

  已知目标函数和约束条件均为线性函数,求目标函数的最小值(最优值)问题。

1.求解方式:用linprog函数求解

2.linprog函数使用形式:

  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,x0) 

  x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)  

  [x,fval]=linprog(…) 

  [x, fval, exitflag]=linprog(…) 

  [x, fval, exitflag, output]=linprog(…) 

  [x, fval, exitflag, output, lambda]=linprog(…)

3.介绍一种最常用的:

  [x,fval,exitflag,output,lambda] = linprog(f,A,b,Aep,beq,lb,ub); 

其中,f是目标函数系数矩阵;A和b是不等式约束条件的参数;Aeq和beq是等式约束条件的参数;lb和ub为x取值的取值范围。

  lambda.ineqlin—不等式约束A,b

  lambda.eqlin—等式约束Aep,bep

  lambda.upper—上界条件ub

  lambda.lower—下界条件lb

4.实例:

目标函数:f(x) = –5x1 – 4x2 –6x3,

约束条件:

  x1 – x2 + x3 ≤ 20

  3x1 + 2x2 + 4x3 ≤ 42

  3x1 + 2x2 ≤ 30

  0 ≤ x1, 0 ≤ x2, 0 ≤ x3

Matlab程序:

>> f = [-; -; -]; A = [ - ;   ;   ]; b = [; ; ]; lb = zeros(,);
>> [x,fval,exitflag,output,lambda] = linprog(f,A,b,[],[],lb);
>> x
x =
0.0000
15.0000
3.0000 >> fval
fval =
-78.0000

二、二次型规划问题

  理解完线性规划问题再来学习二次型规划问题就简单得多了,可以相似类比。

1.求解方式:用quadprog函数来求解

2.quadprog函数使用形式:

  x = quadprog(H,f)

  x = quadprog(H,f,A,b)

  x = quadprog(H,f,A,b,Aeq,beq)

  x = quadprog(H,f,A,b,Aeq,beq,lb,ub)

  x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0)

  x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options)

  x = quadprog(problem)

  [x,fval] = quadprog(H,f,...)

  [x,fval,exitflag] = quadprog(H,f,...)

  [x,fval,exitflag,output] = quadprog(H,f,...)

  [x,fval,exitflag,output,lambda] = quadprog(H,f,...)

 

3.实例:

Matlab程序:

>> H = [ -;- ];f = [-;-];A = [ ; ];b = [;];lb = ones(,);
>> [x,fval,exitflag,output,lambda] = quadprog(H,f,A,b,[],[],lb);
>> x
x =
1.9500 1.0500 >> fval
fval =
-11.0250

注:若求解的是最大值问题亦可转化为求最优化问题。

matlab学习笔记之求解线性规划问题和二次型问题的更多相关文章

  1. matlab学习笔记 bsxfun函数

    matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...

  2. Matlab学习笔记 figure函数

    Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...

  3. matlab学习笔记(一)单元数组

    matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x)  :取最大的整数 ceil(3.18)=4,ceil( ...

  4. matlab学习笔记---(1)

    Matlab学习笔记 一. Desktop Basics (Matlab 基础知识) 当你打开Matlab的时候,matlab按照以下默认的方式展示出来. 该桌面主要包括以下几部分内容: 当前文件夹: ...

  5. 【数学建模】MATLAB学习笔记——函数式文件

    MATLAB学习笔记——函数式文件 引入函数式文件 说明: 函数式文件主要用于解决计算中的参数传递和函数调用的问题. 函数式的标志是它的第一行为function语句. 函数式文件可以有返回值,也可以没 ...

  6. matlab学习笔记13_2匿名函数

    一起来学matlab-matlab学习笔记13函数 13_2 匿名函数 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 https://ww2.mathworks.cn/help/m ...

  7. matlab学习笔记10 一般运算符

    一起来学matlab-matlab学习笔记10 10_1一般运算符 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用>张德丰等著 感谢张 ...

  8. matlab学习笔记13_3创建函数句柄

    一起来学matlab-matlab学习笔记13函数 13_3 创建函数句柄 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 https://ww2.mathworks.cn/help ...

  9. matlab学习笔记12_3串联结构体,按属性创建含有元胞数组的结构体,filenames,isfield,isstruct,orderfields

    一起来学matlab-matlab学习笔记12 12_3 结构体 串联结构体,按属性创建含有元胞数组的结构体,filenames,isfield,isstruct,orderfields 觉得有用的话 ...

随机推荐

  1. Azure Storage 分块上传

    概述 Azure 存储提供三种类型的 Blob:块 Blob.页 Blob 和追加 Blob.其中,块 Blob 特别适用于存储短的文本或二进制文件,例如文档和媒体文件. 块 Blob 由块组成,每个 ...

  2. VA使用技巧

    Reserved String Meaning Date $DATE$ Year/month/day formatted as %04d/%02d/%02d   $DAY$ Day of month ...

  3. 【bzoj1875】【SDOI2009】【HH去散步】

    1875: [SDOI2009]HH去散步 Time Limit: 20 Sec Memory Limit: 64 MB Submit: 932 Solved: 424 [Submit][Status ...

  4. IE6下css常见bug处理

    1.双倍边距 如下图所示,一个样式里面既设定了“float:left:”又有“margin-left:100px:”的情况,就呈现了双倍情况.如外边距设置为100px, 而左侧则呈现出200px,解决 ...

  5. C语言基础(13)-函数

    一. 函数的原型和调用 在使用函数前必须定义或者声明函数. double circle(double r); int main() { ); printf("length = %f\n&qu ...

  6. linux系统之free命令详解

    total used free shared buffers cached Mem: -/+ buffers/cache: Swap: 上面是free命令的执行结果,下面我来详细说说其中的含义: Me ...

  7. Shallow Heap & Retained Heap

    所有包含Heap Profling功能的工具(MAT, Yourkit, JProfiler, TPTP等)都会使用到两个名词,一个是Shallow Size,另一个是 Retained Size. ...

  8. bonjour的使用

    os中,bonjour是一个零配置的网络服务分发服务器与客户端.   在使用bonour之前你应该明白的是,bonjour并不负责数据传输,只负责发布服务与检索服务,并在客户端获取服务端的信息.   ...

  9. poj 1470(LCA)

    题目链接:http://poj.org/problem?id=1470 思路:题目的意思很简单,就是求树中每个节点作为某两个节点的最近公共祖先的次数,这里我们可以用sum数组来保存,然后就是从根节点开 ...

  10. 第0周---python网络爬虫前奏

    目标:掌握定向网络数据爬取和网页解析的基本能力 Python开发工具的选择