信科数模实验报告Word文件下载.docx

上传人:b****4 文档编号:18404695 上传时间:2022-12-16 格式:DOCX 页数:4 大小:20.30KB
下载 相关 举报
信科数模实验报告Word文件下载.docx_第1页
第1页 / 共4页
信科数模实验报告Word文件下载.docx_第2页
第2页 / 共4页
信科数模实验报告Word文件下载.docx_第3页
第3页 / 共4页
信科数模实验报告Word文件下载.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

信科数模实验报告Word文件下载.docx

《信科数模实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《信科数模实验报告Word文件下载.docx(4页珍藏版)》请在冰豆网上搜索。

信科数模实验报告Word文件下载.docx

f?

x?

  ?

?

0,i?

1,2,...,m.  其中f?

表示目标函数,gi?

0?

i?

1,2,...,m?

为约束条件。

  LINDO/LINGO是美国LINDO系统公司开发的一套专门用于求解最优化问题的软件包。

LINDO用于求解线性规划和二次规划问题,LINGO除了具有LINDO的全部功能外,还可以用于求解非线性规划问题,也可以用于一些线性和非线性方程的求解,等等。

LINDO/LINGO软件的最大特色在于可以允许优化模型中的决策变量时整数,而且执行速度很快。

  线性优化求解程序通常使用单纯形算法,对LINDO/LINGO软件,为了能解大规模问题,也可以使用内点算法。

非线性优化求解程序采用的是顺序线性规划法,即通过迭代求解一系列线性规划来达到求解非线性规划的目的。

  5.实验内容与步骤:

  问题一:

某公司将3种不同含硫量的液体原料混合生产两种产品,按照生产工艺的要求,原料甲、乙必须首先倒入混合池中混合,混合后的液体再分别与原料丙混合生产A,B.已知原料甲,乙,丙的含硫量分别是3%,1%,2%,进货价格分别为6千元/t,16千元/t,10千元/t,产品A,B的含硫量分别不能超过%,%,售价分别为9千元/t,15千元/t,根据市场信息,原料甲、乙、丙的供应量都不能超过500t;

产品A,B的最大市场需求量分别为100t,200t.  

(1)应如何安排生产?

  

(2)如果产品A的最大市场需求量增长为600t,应如何安排生产?

  (3)如果乙的进货价格下降为13千元/t,应如何安排生产?

分别对、两种情况进行讨论.  解:

  1    建立模型:

  x1,x2,x3表示生产A需要的甲乙丙的量,x4,x5,x6表示生产B需要的甲乙丙的量,y1,y2表示A,B的产量,建立数学模型:

  33222maxz?

9?

xi1?

15?

xi2?

6?

x1j?

16?

x2j?

10?

x3j  ⑴  i?

1i?

1j?

1?

x11:

x11?

x12?

x21:

x21?

x22?

3?

3%x11?

1%x21?

2%x31?

%?

3    ?

3%x12?

1%x?

22?

2%x32?

xi2i?

2?

xij?

500?

1,2,3?

j?

33?

100,?

200?

1,2,3,j?

1,2?

编写程序:

  Max=9*y1+15*y2-6*(x1+x4)-16*(x2+x5)-10*(x3+x6);

  y1=x1+x2+x3;

  y2=x4+x5+x6;

  (x1*+x2*+x3*)/y1  Globaloptimalsolutionfound.  Objectivevalue:

      Objectivebound:

      Infeasibilities:

      Extendedsolversteps:

    4Totalsolveriterations:

    283    Variable  Value  ReducedCost    Y1        Y2        X1        X4        X2      2  ⑵        X5        X3        X6    结果分析:

  

(1)用原料乙、丙各100t生产B产品,得到的利润最大。

  

(2)若用原料甲、丙各300t生产A产品,得到600千元,则60万元利润最大。

(3)如果乙的进货价格下降为13千元/t,对于问题

(1)把目标函数⑴式改成:

MAXz?

9x11?

9x21?

9x31?

15x12?

15x22?

15x32?

6x11?

6x12?

13x21?

13x22?

10x31?

10x32  则在lingo软件中求解得到的最优解为750千元,即75万元,最优方案为用50t原料甲和150t乙生产B产品。

  同理,问题二最优解不变,最优方案也是用50t原料甲和150t乙生产B产品,得到75万元。

      问题二:

某造船厂需要决定下四个季度的帆船生产量。

下四个季度的帆船需求量分别是40条、60条、75条和25条,这些需求必须按时满足。

每个季度正常的生产能力是40条帆船,每条船的生产费用为4万元。

如果加班生产,每条船的生产费用为万元。

每个季度末,每条船的库存为2000元。

假定生产提前期为0,初始库存为10条船。

如何安排生产可使总费用最小?

  建立模型:

  用xi表示第i(i?

1,2,3,4)个季度帆船的生产量,Y表示库存的总费用。

根据题意可知我们所求的问题的数学模型的目标函数为:

  ?

xi?

40xi?

40?

Yminz?

4?

222i?

Y?

x1?

30?

x2?

90?

165?

401?

?

60?

753?

12?

x3?

x4?

25编写程序:

  根据上述模型,在lingo软件窗口中进行编程:

  MIN=4*(X1+40-@ABS(X1-40))/2+*((X1+40)/2+@ABS(X1-40)/2-40)+4*(X2+40-@ABS(X2-40))/2  +*((X2+40)/2+@ABS(X2-40)/2-40)+4*(X3+40-@ABS(X3-40))/2+*((X3+40)/2+@ABS(X3-40)/2-40)+4*(X4+40-@ABS(X4-40))/2+*((X4+40)/2+@ABS(X4-40)/2-40)+Y;

  Y=*(X1+10-40)+*(X1+X2-30-60)+*(X1+X2+X3-90-75);

X1+10>

=40;

X1+X2-30>

=60;

  X1+X2+X3-90>

=75;

  X1+X2+X3+X4-165>

=25;

结果分析:

  将编好的程序在lingo软件中进行执行可得以下结果:

  Linearizationcomponentsadded:

  Constraints:

  32  3

  

        Variables:

  32  Integers:

  8  Globaloptimalsolutionfound.  Objectivevalue:

    0Totalsolveriterations:

    84    Variable  Value  ReducedCost    X1        X2        X3        X4        Y          Row  SlackorSurplus  DualPrice    1    -    2    -    3        4    -    5    -    6    -  即该造船厂下四个季度的生产量分别为40条、50条、75条、25条,可使可使总费用最小,为万元。

    问题三:

设有4位应聘者到某公司参加三个阶段的面试:

公司要求第个应聘者都必须首先找公司的秘书初试,然后到部门主管处复试,最后到经理处参加面试,并且不允许插队。

于4位应聘者的专业背景不同,所以每人在三个阶段的面试时间也不同,如下表所示:

  应聘者甲应聘者乙秘书初试1310主管复试1520经理面试2018应聘者丙201610应聘者丁81015为了确定4位应聘者全部面试用时的最少时间,试给出相应的数学模型及其LINGO求解程序。

建立模型:

  tij分别表示第i(i?

1,2,3,4)位应聘者在第j(j?

1,2,3)个面试阶段的面试时间,记xij表示第  i(i?

1,2,3)个阶段的面试开始时刻。

以T表示面试总  用时,也就是最后一位面试者面试结束的时刻。

那么目标函数为  minT?

max?

xi3?

ti3?

  i4    其中每位应聘者必须参加完前一阶段面试才能进行下一阶段的面试,也就是说:

  xij?

tij?

xi,j?

1(i?

1,2,3,4,j?

1,2)  对于第j阶段同一个时间段只能有1位应聘者面试,可以用0?

1变量yik表示第k(k?

1,2,3,4)位应聘者是否排着第i(i?

1,2,3,4)位应聘者前面时会使用时更少,则  xij?

xkj?

Tyik  根据题目的意思则有:

  yki?

yik  即令i?

k。

并且有  xkj?

tkj?

Tykj?

T?

yik?

  编写程序:

  在lingo软件中编写上述模型的程序:

SETS:

  PORSONS/1..4/;

INTERVIEW/1..3/;

  PI(PORSONS,INTERVIEW):

TIME,X;

PP(PORSONS,PORSONS)|&

1#LT#&

2:

Y;

ENDSETSDATA:

TIME=13,15,2010,20,1820,16,108,10,15;

ENDDATA  MIN=T;

  T=@MAX(PI(I,J)|J#EQ#3:

X(I,J)+TIME(I,J));

  @FOR(PI(I,J)|J#LT#3:

X(I,J)+TIME(I,J)  @FOR(INTERVIEW(J):

@FOR(PP(I,K):

X(I,J)+TIME(I,J)-X(K,J)  @FOR(PP:

@BIN(Y));

运行程序:

  Localoptimalsolutionfound.  Objectivevalue:

    63Totalsolveriterations:

    6653    Variable  Value  ReducedCost    T      5      TIME(1,1)      TIME(1,2)      TIME(1,3)      TIME(2,1)      TIME(2,2)      TIME(2,3)      TIME(3,1)      TIME(3,2)      TIME(3,3)      TIME(4,1)      TIME(4,2)    TIME(4,3)    X(1,1)    X(1,2)    X(1,3)    X(2,1)    X(2,2)    X(2,3)    X(3,1)    X(3,2)    X(3,3)    X(4,1)    X(4,2)    X(4,3)    Y(1,2)    Y(1,3)    Y(1,4)    Y(2,3)    Y(2,4)    Y(3,4)      Row      1      2      3      4      5      6      7      8      9      10    11    12    13    14                                                        6        -  -  DualPrice--                      SlackorSurplus            15        16        17        18        19        20        21        22        23        24        25        26        27        28        29        30        31        32        33        34        35        36        37        38        39        40        41        42        43        44        45        46      T=84,Y(1,2)=0,Y(1,3)=0,Y(1,4)=1,Y(2,3)=0,Y(2,4)=1,Y(3,4)=1  即  y12?

0,y13?

0,y14?

1,y23?

0,y24?

1,y34?

1  结果分析:

应聘者甲在应聘者乙、丙前面面试,应聘者丁在应聘者甲、乙、丙前面面试,应聘者乙在应聘者丙前面面试。

所以4位应聘者全部面试所用的时间最少为84分钟。

    问题四:

职员时序安排模型一项工作一周7天都需要有人,每天所  需的最少职员数为20、16、13、16、19、14和12,并要求每个职员一周连续工作5天,试求每周所需最少职员数,并给出安排。

注意这里我们考虑稳定后的情况。

  解:

  模型建立:

  因为每天护士工作的人数是不同的,而且每个护士可以连续的工作5天,所  以我们可以设周1,2,3,4,5,6和周日开始上班的人数依x1、x2、x3、x4、x5、x6、  7    x7。

把在同一天开始工作的服务员编为一组。

周一组的工作日是从周1到周5,如下表中的周1组的那一列;

在周1这一天,在岗工作的有从周4,5,6,日以及周1组来的服务员,而这一天需要至少20人。

把这件事表达在下表的周1行。

其他各行各列也有类似的意义。

    各组在岗情况  周1组周2组周3组周4组周5组周6组周日组  必须人数      x4x5x6x7周1x120各      x2x5x6x7周2x116日      x2x3x6x7周3x113在      x2x3x4x7周4x116岗    x2x3x4x5周5x119情  x2  x3  x4  x5x6  周614况    x3  x4  x5x6  x7周日12目标函数:

MinZ=x1+x2+x3+x4+x5+x6+x7约束条件:

    x1  +x4+x5+x6+x7?

20    x1+x2  +x5+x6+x7?

16s·

t  x1+x2+x3  +x6+x7?

13    x1+x2+x3+x4  +x7?

16    x1+x2+x3+x4+x5  ?

19    x2+x3+x4+x5+x6?

14    x3+x4+x5+x6+x7?

12  8

          x1、x2、x3、x4、x5、x6、x7为非负整数Lingo代码:

  model:

  MIN=x1+x2+x3+x4+x5+x6+x7;

X1+x4+x5+x6+x7>

=20;

x1+x2+x5+x6+x7>

=16;

x1+x2+x3+x6+x7>

=13;

x1+x2+x3+x4+x7>

x1+x2+x3+x4+x5>

=19;

x2+x3+x4+x5+x6>

=14;

x3+x4+x5+x6+x7>

=12;

@gin(x1);

@gin(x2);

@gin(x3);

@gin(x4);

@gin(x5);

@gin(x6);

@gin(x7);

end    运行后的结果:

  Globaloptimalsolutionfound.  Objectivevalue:

    5      Variable  Value  ReducedCost    X1        X2        X3        X4        X5        X6        X7          Row  SlackorSurplus  DualPrice    1    -    2        3        4        5        6      9        7        8      最优解为22.  所以总共分为7个组,第1个组为8个职员连续工作从周一到周五,第2组为2个职员连续工作从周二到周六,第3个组为0个职员连续工作从周三到周日,第4个组为6个职员连续工作从周四到下一周的周一,第5个组为3个职员连续工作从周五到下一周的周二,第6个组为3个职员连续工作从周六到下一周的周三,第7个组为0个职员连续工作从周日到下一周的周四。

    6.实验心得:

  在实验过程中我发现要注意的的问题有:

  一、在建立模型的过程中,思路必须要清晰,不能漏了一些重要因素,必须要考虑到位细致。

约束条件等都应该考虑清楚。

  二、编写程序时,应当注意符号的转化且要认真,不可马虎大意,以免漏了重要的符号,导致结果无法输出。

  三、运行结果及分析,在顺利的经过模型建立,以及程序运算后,仍不可大意,在结果分析时,应该注意以及不同条件下的最优解的求解方式和选择。

  10

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1