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

matlab解决线性规划,非线性规划,整形规划及代码

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

一.线性规划

1.1举例说明

形如上述这样的数学公式就叫线性规划

此时我们写出它的matlab代码

f=[-5,-4,-6];
a=[1,-1,1;3,2,4;,3,2,0];
b=[20;42;30];
lb=zeros(3,1);
[x,y]=linprog(f,a,b,[],[],lb)

Optimization terminated.

x =

    0.0000
   15.0000
    3.0000


y =

  -78.0000

再看一列:

f=[2,3,-5]
aeq=[1,1,1]
beq=7
a=[2,-5,1]
b=10
lb=zeros(3,1)
linprog(f,-a,-b,aeq,beq,lb)
ans =

    3.0000
    0.0000
    4.0000

1.2函数总结:

linprog( c , A , b , Aeq , beq , lb , ub , x0 )
参数说明:
1.c是目标参数
2.A是不等式约束AX<=b的系数矩阵,
3.b是不等式约束AX<=b的常数项
4.Aeq是等式约束AeqX=beq的系数矩阵,
5.beq是等式约束AeqX=beq的常数项,
6.lb是X的下限,
7.ub是X的上限,
8.X是向量[x1,x2,…xn]即决策变量。

使用标准:(非线性和整形标准相同,目标函数必须是求最小值,约束函数必须是小于)
即.目标函数只能求最小值
约束不等式只能是<=

二.非线性规划

形如上述这样的就是非线性规划

function f=fun1(x)
f=x(1)^2+x(2)^2+8;
function [g,h]=fun2(x)
g=-x(1)^2+x(2);
h=-x(1)-x(2)^2+2;%约束等式
options=optimset;
[x,y]=fmincon('fun1',rand(2,1),[],[],[],[],zeros(2,1),[],'fun2',options)
x =

    1.0000
    1.0000


y =

   10.0000

总结:
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
1.fun为目标函数
2.x0为初始值
3.A是不等式约束AX<=b的系数矩阵
4.b是不等式约束AX<=b的常数项
4.Aeq是等式约束AeqX=beq的系数矩阵,
5.beq是等式约束AeqX=beq的常数项,
6.lb是X的下限,
7.ub是X的上限,
8.nonlcon为非线性不等式约束
9.option为设置fmincon的参数

三.整形规划

总结:

f=[3,2];
a=[2,3;1,0.5]
b=[14;4.5]
lb=zeros(2,1)
[x,y,flag]=intlinprog(f,[1,2],a,b,[],[],lb)

x =

     0
     0


y =

     0


flag =

     1

x = linprog( c ,intcon, A , b , Aeq , beq , lb , ub , x0 )
1.c是目标参数
2.intcon是指点哪几个变量需要是整数
2.A是不等式约束AX<=b的系数矩阵,
3.b是不等式约束AX<=b的常数项
4.Aeq是等式约束AeqX=beq的系数矩阵,
5.beq是等式约束AeqX=beq的常数项,
6.lb是X的下限,
7.ub是X的上限,
8.X是向量[x1,x2,…xn]即决策变量。!]


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Delphi Icon Generator (MobileGFX)-SEO狼术发布时间:2022-07-18
下一篇:
Delphi与Java中的日期互换发布时间: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