MATLAB规划和LINGO规划,[数学建模]线性规划与matlab,lingo解法

1.1线性规划问题

1.1.1什么情况下使用线性规划(规划)模型求解

线性规划通常研究资源的最优利用问题,总的来说有两类方面。

a.在任务确定的条件下,如何利用最少的资源(如资金、原材料、人工、设备)完成确定的任务?

b.在资源一定的条件下,如何组织生产使得成本最小,利润最大?

1.1.2线性规划解题的基本步骤

a.建立模型,列出线性规划模型的三要素(决策变量、目标函数、约束条件)。

b.利用软件计算得结果(excel,matlab,lingo)。

c.灵敏度分析和最优解判别,推荐使用lingo。

1.1.3经典问题

a.运输问题

b.指派问题

1.1.4程序代码

mtlab专用程序函数

[x,fval] = linprog(f,A,b,Aeq,beq,lb,ub,x0),下面分别介绍各参数的含义.

[x,fval]返回值中x为最优解,fval为最优值.

f表示目标函数中各个变量前面的系数向量,如果是求最小值问题,那么f就是各个变量的系数,如果是求最大值问题,那么f就是各个变量的系数的相反数.

A和b    表示不等式约束A*x <=b中的矩阵A和向量b.

Aeq和beq    表示等式约束Aeq*x =beq中的矩阵Aeq和向量beq.

lb和ub    分别表示自变量的上下界组成的向量,如果没有上下界,该选项用[]表示,如果只有部分变量有上下界,其余的变量没有,那么可以把没有上下界的变量的上下界设为-inf或者inf使lb或者ub的长度符合要求.

x0    表示变量的初始值,可以缺省.

1.1.5例题举例

fc431247f52429795786cb554543a53f.gif

0b1b760961231e4dd3881d0fc504df32.gif

c2d770d030333c01025028d1ad693c2e.gif

36bd2a98cd157e63ee5bea4379933cc3.gif

matlab代码

clc

clear

c=1:4;

c=[c,c]';

aeq=[1,-1,-1,1;

1,-1,1,-3;

1,-1,-2,3];

beq=[0,1,-1/2];

aeq=[aeq,-aeq];

[x,fval]=linprog(c,[],[],aeq,beq,zeros(8,1))

x=x(1:4)-x(5:end)

lingo代码

model:

sets:

col/1..4/:c,x;

row/1..3/:b;

links(row,col):a;

endsets

data:

c=1 2 3 4;

a=1 -1 -1 1 1 -1 1 -3 1 -1 -2 3;

b=0 1 -0.5;

enddata

min=@sum(col:c*@abs(x));

@for(row(i):@sum(col(j):a(i,j)*x(j))=b(i));

@for(col:@free(x));!x的取值可正可负;

end

bd4c85b70e4ae1a013e240f15c453a49.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值