线性规划习题课教学教案
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0 14 0 17 0 13; friend = 0.3 0.5 0.6; enddata
@for
• 该函数用来产生对集成员的约束 • 例 产生序列{1,4,9,16,25}
@for
model: sets: numb/n1..n5/:x; endsets
@for(numb(i):x(i)=i^2);
集的定义
sets: students:sex,age; endsets data: students,sex,age= John 1 16 John boy 16
Jill 0 14 Jill girl 14 Rose 0 17 Rose girl 17 Mike 1 13; Mike boy 13; enddata
end
@sum
• 该函数返回遍历指定的集成员的一个表达式 的和
• 例 求向量[5,1,3,4,6,10]前5个数的和
model: data: N=6; enddata
sets: numb/1..N/:x; endsets
@sห้องสมุดไป่ตู้m
data: x= 5 1 3 4 6 10; enddata
s=@sum( numb(i)|i#le#5:x);
end
@min和@max
• 返回指定的集成员的一个表达式的最小值或 最大值
• 例 求向量[5,1,3,4,6,10]前5个数的最 小值,后3个数的最大值
@min @max
model: data: N=6; enddata
sets: numb/1..N/:x; endsets
data: x=5 1 3 4 6 10; enddata
mi=@min( numb(i)|i#le#5:x);
ma=@max( numb(i)|i#ge#N-2:x);
end
运输问题
•
指派问题
有若干项任务需要完成,又有若干人员 能够完成其中的每项任务。由于每个人的特 点和能力不同,完成各项任务的效益也各不 相同。又因任务性质的要求和管理上的需要 等,每项任务只能由一个人完成。问应如何 分配人员去完成所有的任务,能使完成各项 任务的总效益最佳?
整数规划模型及穷举法
• 0-1规划模型的隐枚举法
• 放弃所有线性约束 • 只保留变量的0-1约束
算法过程:P141-142
• 化为标准型
• 使目标函数中变量的系数变为 非负数
隐枚举法求解
• 当求最小值时,令全 部变量取 0
• 当求最大值时,令全 部变量取 1
为什么?
隐枚举法求解
•
写出线性规划的对偶
派生集
• 可用下面的语法定义一个派生集:
• setname(parent_set_list)[/member_list/][:attribut e_list];
• 就像一个多元函数 • 函数集合名(变量名)[/变量定义域/][函数名]
派生集举例
sets: students/John,Jill,Rose,Mike/:sex,age; paisheng1(students,students)|sex(&1) #eq# 1 #and# sex(&2) #eq# 0: friend; paisheng2(paisheng1) | friend(&1,&2) #ge# 0.5 : x; endsets data: sex,age = 1 16
•
•
•
•
灵敏度分析
目标函数系数的灵敏度分析
P 原理和公式在 62
约束条件的常数项的灵敏度分析
原理和公式在 P 65
例 P78 9
线性规划的单纯形法
@for
• 该函数用来产生对集成员的约束 • 例 产生序列{1,4,9,16,25}
@for
model: sets: numb/n1..n5/:x; endsets
@for(numb(i):x(i)=i^2);
集的定义
sets: students:sex,age; endsets data: students,sex,age= John 1 16 John boy 16
Jill 0 14 Jill girl 14 Rose 0 17 Rose girl 17 Mike 1 13; Mike boy 13; enddata
end
@sum
• 该函数返回遍历指定的集成员的一个表达式 的和
• 例 求向量[5,1,3,4,6,10]前5个数的和
model: data: N=6; enddata
sets: numb/1..N/:x; endsets
@sห้องสมุดไป่ตู้m
data: x= 5 1 3 4 6 10; enddata
s=@sum( numb(i)|i#le#5:x);
end
@min和@max
• 返回指定的集成员的一个表达式的最小值或 最大值
• 例 求向量[5,1,3,4,6,10]前5个数的最 小值,后3个数的最大值
@min @max
model: data: N=6; enddata
sets: numb/1..N/:x; endsets
data: x=5 1 3 4 6 10; enddata
mi=@min( numb(i)|i#le#5:x);
ma=@max( numb(i)|i#ge#N-2:x);
end
运输问题
•
指派问题
有若干项任务需要完成,又有若干人员 能够完成其中的每项任务。由于每个人的特 点和能力不同,完成各项任务的效益也各不 相同。又因任务性质的要求和管理上的需要 等,每项任务只能由一个人完成。问应如何 分配人员去完成所有的任务,能使完成各项 任务的总效益最佳?
整数规划模型及穷举法
• 0-1规划模型的隐枚举法
• 放弃所有线性约束 • 只保留变量的0-1约束
算法过程:P141-142
• 化为标准型
• 使目标函数中变量的系数变为 非负数
隐枚举法求解
• 当求最小值时,令全 部变量取 0
• 当求最大值时,令全 部变量取 1
为什么?
隐枚举法求解
•
写出线性规划的对偶
派生集
• 可用下面的语法定义一个派生集:
• setname(parent_set_list)[/member_list/][:attribut e_list];
• 就像一个多元函数 • 函数集合名(变量名)[/变量定义域/][函数名]
派生集举例
sets: students/John,Jill,Rose,Mike/:sex,age; paisheng1(students,students)|sex(&1) #eq# 1 #and# sex(&2) #eq# 0: friend; paisheng2(paisheng1) | friend(&1,&2) #ge# 0.5 : x; endsets data: sex,age = 1 16
•
•
•
•
灵敏度分析
目标函数系数的灵敏度分析
P 原理和公式在 62
约束条件的常数项的灵敏度分析
原理和公式在 P 65
例 P78 9
线性规划的单纯形法