• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

matlab学习笔记之求解线性规划问题和二次型问题

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一、线性规划问题

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

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 = [-5; -4; -6]; A = [1 -1 1; 3 2 4; 3 2 0]; b = [20; 42; 30]; lb = zeros(3,1);
>> [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 = [4 -4;-4 8];f = [-6;-3];A = [1 1;4 1];b = [3;9];lb = ones(2,1);
>> [x,fval,exitflag,output,lambda] = quadprog(H,f,A,b,[],[],lb);
>> x
x = 
    1.9500

    1.0500

>> fval
fval =
  -11.0250

 

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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
DelphiIOSMusicPlayer锁屏运行学习发布时间:2022-07-18
下一篇:
我来解数独(附delphi源码)发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap