• 个人礼仪
  • 商务礼仪
  • 职场礼仪
  • 饮食礼仪
  • 鲜花礼仪
  • 送礼礼仪
  • 婚宴婚庆礼仪
  • 当前位置: 工作范文网 > 礼仪 > 职场礼仪 > 正文

    数学软件MATLAB实验报告-实验七

    时间:2020-09-21 12:45:33 来源:工作范文网 本文已影响 工作范文网手机站

    PAGE / NUMPAGES

    实验七:最优化方法的MATLAB实现

    实验目的与要求:

    能利用MATLAB的最优化工具箱实现了解决不同类型最优化问题。

    实验内容:

    对边长为3m的正方形铁板,在4角处剪去相等的正方形以制成方形无盖水槽,问如何剪法使水槽的容积最大?(要求建立模型,利用MATLAB软件求解)

    设剪去的正方形边长为x,则水槽的容积为:

    f(x)=(3-2x)2x,(0<x<1.5)

    程序代码:

    clear;clc;

    [x,fval,exitflag]=fminbnd(@(x)-(3-2*x).^2*x,0,1.5)

    所以,剪掉的正方形的边长为0.5m时水槽的容积最大,最大值为2m2。

    某厂生产甲、乙两种产品,已知制成一吨产品甲需要资源A3吨,资源B4m3;制成一吨乙产品需要资源A2吨,资源B6m3,资源C7个单位。若一吨产品甲和乙的经济值分别为7万元和5万元,三种资源的限制量分别为90吨、200m3和210个单位。试决定应生产这两种产品各多少吨才能使创造的总经济价值最高?(要求建立模型,利用MATLAB软件求解。)

    程序代码:

    f=[-7 -5]';

    A=[3 2;4 6];

    b=[90;200];

    lb=zeros(2,1);

    ub=[50;30];

    [x,fval,exitflag]=linprog(f,A,b,[],[],lb,ub)

    1

    所以,生产甲产品14吨,乙产品24吨收益最高。

    最小化函数:

    程序代码:

    x0=[1,1];

    [x,fval,exitflag]=fminunc('3*x(1)^2+2*x(1)*x(2)+x(2)^2',x0)

    求解下面的最优化问题:

    目标函数

    约束条件

    H=[1 -1;-1 2];

    f=[-2;-6];

    A=[1 1;-1 2;2 1];b=[2;2;3];

    lb=zeros(2,1);

    [x,fval,exitflag]=quadprog(H,f,A,b,[],[],lb)

    在5个地点中选3处建生产同一产品的工厂,在这5个地点建厂所需投资,点用农田,建成以后的生产能力等数据如表所示

    地点

    1

    2

    3

    4

    5

    所需投资(万元)

    320

    280

    240

    210

    180

    占用田亩(亩)

    20

    18

    15

    11

    8

    生产能力(万吨)

    70

    55

    42

    28

    11

    现在又总投资800万元,占用农田指标60亩,应如何选择厂址,使建成后总生产力最大。

    程序代码:

    f=[-70;-55;-42;-28;-11];

    A=[320 280 240 210 180;20 18 15 11 8];b=[800;60];

    Aeq=[1 1 1 1 1];beq=[3];

    [x,fval,exitflag]=bintprog(f,A,b,Aeq,beq)

    即选择在地点1、3、4建厂,总投资770万元,占用农田46亩,总生产能力可以达到140万吨。

    定位问题

    设某城市有某种物品的10个需求点,第i个需求点Pi的坐标为(ai,bi),道路网与坐标轴平行,彼此相交。现打算建一个该物品的供应中心,且由于受到城市某些条件的限制,该供应中心只能设在x界于[5,8],y界于[5,8]的范围内。问该中心应建在何处为好?

    Pi的坐标为:

    Ai:1 4 3 5 9 12 6 20 17 8

    Bi:2 10 8 18 1 4 5 10 8 9

    创建目标函数程序代码(文件名为example7_6a.m):

    创建目标函数。

    function f=example7_6a(x)

    a=[1 4 3 5 9 12 6 20 17 8]';

    b=[2 10 8 18 1 4 5 10 8 9]';

    f=abs(x(1)-a)+abs(x(2)-b);

    end

    调用fminimax函数进行计算程序代码:

    clear;clc;

    x0=[7;7];

    lb=[5;5];ub=[8;8];

    [x,fval,maxfval]=fminimax(@example7_6a,x0,[],[],[],[],lb,ub)

    x =

    8

    8

    fval =

    13

    6

    5

    13

    8

    8

    5

    14

    9

    1

    maxfval =

    14.0000

    所以该中心应建在(8,8)处为好,这时最小的最大距离为14。

    某化工厂拟生产两种新产品A和B,其生产设备费用分别为:A,2万元/吨;B,5万元/吨。这两种产品均将造成环境污染,设由于公害所造成的损失可折算为:A,4万元/吨;B,1万元/吨。由于条件限制,工厂生产产品A和B的最大生产能力各为每月5吨和6吨,而市场需要这两种产品的总量每月不少于7吨。试问工厂如何安排生产计划,在满足市场需求的前提下,使设备投资和公害损失最小。该厂决策认为,这两个目标中环境污染应优先考虑,设备投资的目标值为29万元,公害损失的目标为12万元。

    首先创建目标函数(文件名为example7_7a.m)。

    function f=example7_7a(x)

    f(1)=2*x(1)+5*x(2);f(2)=4*x(1)+x(2);

    运用fgoalattain函数:

    clear;clc;goal=[20;12];weight=[8;2];x0=[2;5];A=[-1 -1];b=-7;lb=[0;0];ub=[5;6];

    [x,fval,attainfactor,exitflag]=fgoalattain(@example7_7a,x0,goal,weight,A,b,[],[],lb,ub)

    运行结果:

    x =

    2.3333

    4.6667

    fval =

    28.0000 14.0000

    attainfactor=

    1.0000

    exitflag =

    1

    故可生产A产品2.33吨,B产品4.67吨。这时,设备投资费为28万元,公害损失费14万元。计算收敛。

    有关的专题