lingo实现 建立选课策略多目标模型

更新时间:2023-03-19 02:37:01 阅读量: 人文社科 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数学模型实验—实验报告9

一、实验项目:选课策略模型建立和求解

二、实验目的和要求

a.根据题目要求建立优化模型

b.通过Lingo软件求解模型

三、实验内容

1.根据教材4.4节内容建立选课策略多目标模型。

目标一:课程数最少;目标二:学分最多,

1)课程数最少前提下,学分最多模型.即在选修6门课的条件下使得总学分尽可能的多,这样应在原规划问题中增加约束条件x1+x2+x3+x4+x5+x6+x7+x8+x9=6;

2)引入权重将两目标转化为单目标模型

一般的,将权重记为 , ,且令 0≤ , ≤1,则0—1规划模型的新目标为 min Y= Z W

2. 编写lingo程序求解 :

1)以课程数最少为单目标的优化模型(注意xi为0-1变量)

min x1+x2+x3+x4+x5+x6+x7+x8+x9

x1+x2+x3+x4+x5>=2;

x3+x5+x6+x8+x9>=3;

x4+x6+x7+x9>=2;

2*x3-x1-x2<=0;

x4-x7<=0;

2*x5-x1-x2<=0;

x6-x7<=0;

x8-x5<=0;

2*x9-x1-x2<=0;

@BIN(X1);@BIN(X2);@BIN(X3);@BIN(X4);@BIN(X5);@BIN(X6);@BIN(X7);@BIN(X8);@BIN(X9); 运行结果如下:

Global optimal solution found.

Objective value: 6.000000

Objective bound: 6.000000

Infeasibilities: 0.000000

Extended solver steps: 0

Total solver iterations: 0

Variable Value Reduced Cost

X1 1.000000 1.000000

X2 1.000000 1.000000

X3 1.000000 1.000000

X4 0.000000 1.000000

X5 0.000000 1.000000

X6 1.000000 1.000000

X7 1.000000 1.000000

X8 0.000000 1.000000

X9 1.000000 1.000000

Row Slack or Surplus Dual Price

1 6.000000 -1.000000

2 1.000000 0.000000

3 0.000000 0.000000

4 1.000000 0.000000

5 0.000000 0.000000

6 1.000000 0.000000

7 2.000000 0.000000

8 0.000000 0.000000

9 0.000000 0.000000

10 0.000000 0.000000

2)求解以上方法建立的多目标模型,并调整权重值,观察模型结果的变化。

学分数和课程数三七开时代码如下:

min x1-0.5x2-0.5x3-0.2x4-0.5x5-0.2x6+0.1x7+0.1x8-0.2x9

x1+x2+x3+x4+x5>=2;

x3+x5+x6+x8+x9>=3;

x4+x6+x7+x9>=2;

2*x3-x1-x2<=0;

x4-x7<=0;

2*x5-x1-x2<=0;

x6-x7<=0;

x8-x5<=0;

2*x9-x1-x2<=0;

@BIN(X1);@BIN(X2);@BIN(X3);@BIN(X4);@BIN(X5);@BIN(X6);@BIN(X7);@BIN(X8);@BIN(X9);

模型求解结果如下:

Global optimal solution found.

Objective value: -2.800000

Objective bound: -2.800000

Infeasibilities: 0.000000

Extended solver steps: 0

Total solver iterations: 0

Variable Value Reduced Cost

X1 1.000000 -0.8000000

X2 1.000000 -0.5000000

X3 1.000000 -0.5000000

X4 1.000000 -0.2000000

X5 1.000000 -0.5000000

X6 1.000000 -0.2000000

X7 1.000000 0.1000000

X8 0.000000 0.1000000

X9 1.000000 -0.2000000

Row Slack or Surplus Dual Price

1 -2.800000 -1.000000

2 1.000000 0.000000

3 2.000000 0.000000

4 0.000000 0.000000

5 0.000000 0.000000

6 0.000000 0.000000

7 0.000000 0.000000

8 1.000000 0.000000

9 0.000000 0.000000

由于将两个权重记作 , ,且 + 2=1, , 均属于[0,1];通过调整权重值 , 进行计算,可以发现当 <2/3时,结果与只考虑学分多的情况相同;当 >3/4时,结果与只考虑课程最少的情况是一样的。

本文来源:https://www.bwwdw.com/article/f6fj.html

Top