您好,欢迎来到微智科技网。
搜索
您的当前位置:首页数学建模 matlab求解线性规划实验报告

数学建模 matlab求解线性规划实验报告

来源:微智科技网
实验三 线性规划

实验目的

1、了解线性规划的基本内容。

2、掌握用数学软件包求解线性规划问题。

例1 max

s.t.

程序: linprog

z0.4x10.28x20.32x30.72x40.x50.6x6 0.01x10.01x20.01x30.03x40.03x50.03x6850 0.02x10.05x4700 0.02x20.05x5100 0.03x30.08x6900 xj0j1,2,6 c=[-0.4 -0.28 -0.32 -0.72 -0. -0.6];

A=[0.01 0.01 0.01 0.03 0.03 0.03;0.02 0 0 0.05 0 0;0 0.02 0 0 0.05 0;0 0 0.03 0 0 0.08]; b=[850;700;100;900]; Aeq=[]; beq=[];

vlb=[0;0;0;0;0;0]; vub=[];

[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)

Exam5:

function f=fun3(x);

f=-x(1)-2*x(2)+(1/2)*x(1)^2+(1/2)*x(2)^2

x0=[1;1];

A=[2 3 ;1 4]; b=[6;5]; Aeq=[];beq=[]; VLB=[0;0]; VUB=[];

[x,fval]=fmincon('fun3',x0,A,b,Aeq,beq,VLB,VUB)

书 求下列非线性规划

minx12x22x328x12x2x32022x1x2x320 2s..tx1x2202x2x323x1,x2,x30在Matlab 2013软件中输入如下程序: (i)编写M 文件fun1.m 定义目标函数

function f=fun1(x); f=sum(x.^2)+8;

(ii)编写M文件fun2.m定义非线性约束条件 function [g,h]=fun2(x); g=[-x(1)^2+x(2)-x(3)^2

x(1)+x(2)^2+x(3)^3-20]; %非线性不等式约束 h=[-x(1)-x(2)^2+2

x(2)+2*x(3)^2-3]; %非线性等式约束 (iii)编写主程序文件example2.m 如下:

options=optimset('largescale','off');

[x,y]=fmincon('fun1',rand(3,1),[],[],[],[],zeros(3,1),[], ... 'fun2', options)

就可以求得当x10.5522,x21.2033,x30.9478时,最小值y =10.6511。

4. 选修课的策略

决策目标为选修的课程总数最少,即 minx1x2x9

约束条件:

(1) 满足课程要求:(至少2门数学课程,3门运筹学课程和2门计算机课程)

x1x2x3x4x52 x3x5x6x8x93

x4x6x7x92(2) 先修课程要求:

(a) 数据结构的先修课程为计算机编程:x41x71转换为:x4x7 (b) 计算机模拟的先修课程为计算机编程:x6x7 (c) 预测理论的先修课程为应用统计:x8x5

(d) 最优化方法的先修课程为微积分和线性代数:x3x1,x3x2,或者转化为:

x1x22x30

(e) 应用统计的先修课程为微积分和线性代数:x5x1,x5x2,或者转化为:

x1x22x50

(f) 数学实验的先修课程为微积分和线性代数:x9x1,x9x2,或者转化为:

x1x22x90

(3) 0-1:xi0,1(可以转化为整数规划,0xi1)

四、模型求解:

在Matlab软件中输入如下程序:

c=[1;1;1;1;1;1;1;1;1]; A=[-1 -1 -1 -1 -1 0 0 0 0; 0 0 -1 0 -1 -1 0 -1 -1; 0 0 0 -1 0 -1 -1 0 -1; 0 0 0 1 0 0 -1 0 0; 0 0 0 0 0 1 -1 0 0; 0 0 0 0 -1 0 0 1 0; -1 -1 2 0 0 0 0 0 0; -1 -1 0 0 2 0 0 0 0; -1 -1 0 0 0 0 0 0 2]; b=[-2;-3;-2;0;0;0;0;0;0]; [x,Fval]=bintprog(c,A,b);

计算得到该问题的解为(1,1,1,0,0,1,1,0,1),即选修的课程为微积分、线性代数、最优化方法、计算机模拟、计算机编程和数学实验,总学分为21。

练习:1.

max72x1x2x1x25012x8x480 12s..t3x1100x10,x20

2.

书 解线性规划问题

minf2x1x2

x1x2x35xxx0124s.t.

6x2xx21251xi0,i1,2,3,4,53. 书 某市有甲、乙、丙、丁四个居民区,自来水由A、B、C由三个水库供应。四个区每天必须的基本生活用水分别为30、70、10、10千吨,但三个水库每天最多只能分别供应50、60、50千吨自来水。由于地理位置的差别,自来水公司从各水库向各区送水所付出的引水 管理费不同(如表4-1,其中C水库与丁区间无输水管道),其它管理费均为450元/千吨。各区用户每千吨收费900元。此外,各区用户都向公司申请了额外用水量,分别为每天50、70、20、40千吨。问公司应如何分配供水量,才能获利最多?

表4-1 引水管理费(元/千吨) A B C 甲 160 140 190 乙 130 130 230 丙 220 190 200 丁 170 150 / 问题假设

输送到各区的自来水只要在基本用水与额外用水量以内,各区即全额付费。 模型建立 设A、B、C各水库向甲、乙、丙、丁四个居民区的供水量如下,

表4-2 供水量(千吨) A B C 则公司从A水库的获利为:

u1900(x1x2x3x4)(160450)x1(130450)x2(220450)x3(170450)x4甲 x1 y1 z1 乙 x2 y2 z2 丙 x3 y3 z3 丁 x4 y4 /

公司从B水库的获利为:

u2900(y1y2y3y4)(140450)y1(130450)y2(190450)y3(150450)y4

公司从C水库的获利为:

u3900(z1z2z3)(190450)z1(200450)z2(220450)z3

公司的总获利为:

uu11u2u3

各区每天的供水量: 甲区供水量为:

30x1y1z13050

乙区供水量为:

70x2y2z27070

丙区供水量为:

10x3y3z31020

丁区供水量为:

10x4y41040

水库每天供水量的限定: A水库:

443xi1i50; B水库:yi60; C水库:zi50

i1i1于是建立数学模型如下:

Max290x1320x2230x3280x4310y1320y2260y3300y4260z1250z2220z330xyz305011170x2y2z2707010xyz1020333s..t10x4y410404xi50i14yi60i13z50ii12

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务