数学建模0—1规划
0-1规划在各种实际问题中的应用以及lingo求解

势,才最有可能取得好成绩?
姿势 成绩
队员
自由泳
蛙泳
蝶泳
仰泳
A B
56 63
74 69
61 65
63 71
C
D
57
55
77
76
63
62
67
62
• 假设问题的决策变量 1 , 第i名运动员游第j种姿势 xij= 0 , 第i名运动员不游第j种姿势
四名运动员的成绩矩阵aij=
56 63 57 55
74 69 77 76
280 30 200
400 40 300
5 1 4
3 0.5 2
300 300 300
• 三种服装的利润分别为120元、10元、100元.
• 设xi表示生成第i(i=1,2,3)种服装的数量,yi表示是否 生产第i种服装. 生产第 i种 服 装 1, yi i种 服 装 0, 不 生 产 第
即甲完成B任务,乙完成D任务,丙完成E任务,丁完成A任务 总用时105分钟.
• 第(2)题,按照指派模型,可添加一个虚拟完
成人戊.而实际上,戊所完成任务还是由甲乙
丙丁完成的.
• 为了保证时间最少,戊完成各项任务的时间,
就取完成各任务所需时间最短人的时间.
• 若戊完成哪项任务,则那项任务所需时间最
短人来完成.
建立i污水厂 1, yi 0,不建立i污水厂
min z=0.03x1+0.03x2+0.04x3+400y1+300y2+250y3 80x1+50x2+40x3≥80000 60x1+40x2+50x3≥60000 x1≤800y1 s.t. x2≤500y2 x3≤400y3 xi≥0 yi=0或1
公交站点的数学建模的例子0-1规划

公交站点的数学建模的例子0-1规划记录一个关于0-1规划问题(指派问题、分配问题)模型的建立、实现、求解的过程,并在基础模型通过添加惩罚或激励机制考虑多种情况。
记录目的在于学习交流以及日后自己对该类模型能进行较快的进行描述实现。
问题描述(基础)考虑这么一个分配问题有9个数,让他们其中分成2组每组不超过6人,每组又分成A、B两队,每队不超过3人。
目标使得每组A、B两队和之差最小。
用数学题的语言进行描述该问题,现有9人,分成2组,每组最多6人,每组内又分AB两队,如何安排才能使得每组两队分数较为平衡。
思考解的形式我们将解分成2*2个(两组每组两队)部分,每个部分需要重9个数中进行选择,用0-1来表示在该部分中是否被选中,那么它的解的个分别数为9*2*2,用矩阵形式为:将其用向量的形式进行表示:思考约束条件以及目标解的形式确定之后,思考如何针对该解的形式,然后对问题进行描述,从问题中和解的形式,我们可以总结出以下的2个约束:•每组中的A部分和B部分分别小于等于3人•每个数只能出现1次,即每一列的和为1 用公式进行表达为:∑j=113x1ja<=3∑i=13xi1a<=1∑j=113x1jb<=3∑i=13xi 1b<=1......思考目标两队分数之和比较接近,可以理解每一组中为:max(∑(xa)∗y)st.∑(xa)∗y<=1/2∗∑(x)∗y其中x表示9个数的位置(0-1表示),y表示对应位置的数的值,即使得每组A队的分数尽可能大并且接近该组之和的1/2。
将其组合起来可以该总目标表示为:max(∑(xija)∗y)st.∑j=19x1ja<=∑j=19x1jb∑j=19x2ja<=∑j=19x2jb最后将问题进行重新进行整理•目标为:A队之和最大•约束1: 每队小于等于3人•约束2: 每组A队小于B队•约束3: 每个数只能出现1次,即每一列和为1代码实现主代码,函数在附录。
用Lingo求解整数(0-1)规划模型

1、建立数学模型, 2、用lingo循环语句编写程序.
上机作业题 人员安排问题
某城市的巡逻大队要求每天的各个时间段都有一
定数量的警员值班, 以便随时处理突发事件, 每人连续 工作6h, 中间不休息. 如表所示是一天8个班次所需值 班警员的人数情况统计:
班次
时间段
人数 班次
时间段
人数
1
6:00~9:00
例 4 求函数 z x 22 y 22 的最小值.
例 4 求函数 z x 22 y 22 的最小值.
解: 编写Lingo 程序如下:
min=(x+2)^2+(y-2)^2; @free(x); 求得结果: x=-2, y=2
二、Lingo 循环编程语句
(1) 集合的定义 包括如下参数: 1) 集合的名称.
12,8 3,0; enddata
!数据赋值;
max=@sum(bliang(i):a(i)*x(i)); !目标函数;
@for(yshu(j):@sum(bliang(i):x(i)*c(j,i))<=b(j));
!约束条件;
例6:人员选拔问题
队员号码 身高 / m 位置 队员号码 身高 / m 位置
例 2 用Lingo软件求解整数规划问题
min z 2 x1 5 x2 3 x3
4 x1 x2 x3 0
2
x1
4 x2
2 x3
2
x1
x2
x3
2
xi 0 且取整数, i 1, 2, 3
Lingo 程序:
min=2*x1+5*x2+3*x3; -4*x1-x2+x3>=0; -2*x1+4*x2-2*x3>=2; x1-x2+x3>=2; @gin(x1);@gin(x2);@gin(x3);
例析0-1整数规划及隐枚举法的应用

例析0-1整数规划及隐枚举法的应用自主招生近年来成为各大高校又一招纳人才的举措,面试在自主招生中扮演着越来越重要的角色,考生面试的成绩不容忽视。
因此如何确定面试专家的分配方案,使录取工作真正公平合理的进行,是各大高校积极考虑的问题。
本文通过采用0-1整数规划及隐枚举法建立相关模型,较好地解决了这一问题。
1 预备知识简介1.1 线性规划[1]在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济效益的问题。
此类问题构成了运筹学的一个重要分支——数学规划,而线性规划则是数学规划的一个重要分支。
若在线性规划模型中,变量限制为整数,则为整数线性规划。
0-1整数规划是整数规划中的特殊情形,它的变量仅取0或1。
合理地引用0-1规划能够容易且高效率地求解相关问题。
1.2 隐枚举法[2]隐枚举法是Balas E在1965年提出的,是求解0-1规划问题的一种有效方法。
它只检查一部分变量组合,在这过程中根据已有信息自动舍弃许多不可能成为最优解的组合,求得最优解,从而大大减少了工作量。
隐枚举法只需比较目标函数在小部分组合点上的取值大小,就能求得最优解和最优值。
2 问题描述与建模2.1 问题描述某高校采用通过专家面试的方式进行自主招生,经过初选合格进入面试的考生有N人,拟聘请老师M人进行面试。
每位学生要分别接收“面试组”每位老师的单独面试,每个面试组由4名老师组成。
已知要求面试不同考生的“面试组”成员不能完全相同。
试求在考生数N已知的条件下,聘请老师数M至少应为多大,才能做到任两位学生的“面试组”都没有两位面试老师相同。
2.2 数学建模该问题是一个单目标规划问题,解决的是满足一定约束条件要求,计算在给出一定的学生人数下,所需要教师的最少人数。
根据实际情况分析,一般面试学生的个数要远大于教师的个数。
因为教师人数较少,容易进行分组(即按照约束条件将教师每4人分成一组),满足约束条件的情况下,所能组合的最大组数目即可面试学生的最大人数[3~4]。
基于某0-1整数规划地就业选择模型

实用文案2012高教社杯全国大学生数学建模竞赛承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。
如有违反竞赛规则的行为,我们将受到严肃处理。
我们参赛选择的题号是(从A/B/C/D中选择一项填写):我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):参赛队员 (打印并签名) :1. 孔甜程2. 王成3. 刘子恒指导教师或指导教师组负责人 (打印并签名):日期: 2012 年 8月 15 日赛区评阅编号(由赛区组委会评阅前进行编号):2012高教社杯全国大学生数学建模竞赛编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):基于0-1整数规划的就业选择模型摘要:当今社会,大学生就业问题已引起了广大的关注,针对这一现象,假设有25个用人单位和25位应聘者,每个人及每个单位的基本条件和要求条件各不相同,某高等院校学生就业指导中心就如何根据用人单位和大学生的基本条件和要求条件进行牵线搭桥,使用人单位和大学生签订就业协议。
本文利用0-1型整数规划建立了大学生就业问题的数学模型,并结合实际提出了通用可行的算法。
首先将用人单位的五个要求条件和应聘者的五个要求条件等级A、B、C、D、E分别做量化处理为5、4、3、2、1,得到用人单位和应聘者的基本条件量化矩阵和要求条件量化矩阵,得出满意度分量。
然后确定最优方案模型,被选人员对用人单位的满意度最大时的人员选取即为所求,从而建立了应聘人员最优选取的0-1整数规划模型关键词:0-1整数规划条件量化满意度1问题重述目前,随着我国高等教育的持续发展,大学生毕业人数逐年增多,大学生就业难问题已经引起了社会各方的广泛关注。
1、线性规划(数学建模)

⎧2 x1 + x2 ≤ 10 ⎪x + x ≤ 8 ⎪ 1 2 s.t.(约束条件) ⎨ ⎪ x2 ≤ 7 ⎪ ⎩ x1 , x2 ≥ 0
(2)
(1)式被称为问题的目标函数, (2)中的几个不等式 这里变量 x1 , x 2 称之为决策变量, 是问题的约束条件,记为 s.t.(即 subject to)。由于上面的目标函数及约束条件均为线性 函数,故被称为线性规划问题。 总之, 线性规划问题是在一组线性约束条件的限制下, 求一线性目标函数最大或最 小的问题。 在解决实际问题时, 把问题归结成一个线性规划数学模型是很重要的一步, 但往往 也是困难的一步,模型建立得是否恰当,直接影响到求解。而选适当的决策变量,是我 们建立有效模型的关键之一。 1.2 线性规划的 Matlab 标准形式 线性规划的目标函数可以是求最大值, 也可以是求最小值, 约束条件的不等号可以 是小于号也可以是大于号。为了避免这种形式多样性带来的不便,Matlab 中规定线性 规划的标准形式为
max z = 2 x1 + 3x2 − 5 x3 s.t. x1 + x2 + x3 = 7 2 x1 − 5 x2 + x3 ≥ 10 x1 + 3 x2 + x3 ≤ 12 x1 , x2 , x3 ≥ 0
-3-
解 (i)编写 M 文件 c=[2;3;-5]; a=[-2,5,-1;1,3,1]; b=[-10;12]; aeq=[1,1,1]; beq=7; x=linprog(-c,a,b,aeq,beq,zeros(3,1)) value=c'*x (ii)将M文件存盘,并命名为example1.m。 (iii)在Matlab指令窗运行example1即可得所求结果。 例3 求解线性规划问题
数学建模_0-1规划及LINGO程序模板

数模练习一某手机运营商准备在一个目前尚未覆盖的区域开展业务,计划投资5000万元来建设中继站。
该区域由15个社区组成,有7个位置可以建设中继站,每个中继站只能覆盖有限个社区。
图1.1.1是该区域的示意图,每个社区简化为一个多边形,每个可以建设中继站的位置已用黑点标出。
由于地理位置等各种条件的不同,每个位置建设中继站的费用也不同,且覆盖范围也不同。
表1.1.2中列出了每个位置建设中继站的费用以及能够覆盖的社区,表1.1.3列出了每个社区的人口数。
表1.1.2每个位置建设中继站的费用及所能覆盖的社区位置 1 2 3 4 5 6 7费用(百万元)9 6.5 20 14.5 19 13 10.5覆盖社区1,2,4 2,3,54,7,8,10 5,6,8,9 8,9,127,10,11,12,1512,13,14,15表1.1.3 每个社区的人口数量社区 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 人口(千人) 2 4 13 6 9 4 8 12 10 11 6 14 9 3 6问题一:在不超过5000万建设费用的情况下,在何处建设中继站,能够覆盖尽可能多的人口;问题二:考虑到中继站出现故障维修的时候可能会出现所覆盖的社区信号中断等问题,为此对通讯资费进行了调整,规定,仅有一个中继站信号覆盖的小区通讯资费按正常资费的70%收取,有两个或两个以上中继站信号覆盖的小区的通讯资费按正常收取,针对于5000万元的预算,应该如何建设中继站,才能够使得资费的收入达到最大。
问题分析:问题一,决策变量:为整数)(处建设中继站,位置处不建设中继站,位置i i i i X i ,7110≤≤⎩⎨⎧= 目标函数:},max{··},,max{·},max{·},max{},max{·.},max{··},max{},max{761571471376512611631054954867464253423212311X X y X y X y X X X y X y X X y X X y X X y X y X y X X y X y X y X X y X X y MAX +++++++⋅++++++⋅+⋅=约束条件:5071≤⋅∑=i i i f X用LINGO 软件编程求解,程序如下:sets :position/1..7/:x,f; society/1..15/:r; endsets data :r=2 4 13 6 9 4 8 12 10 11 6 14 9 3 6; f=9 6.5 20 14.5 19 13 10.5; enddatamax =r(1)*@smax (x(1),x(3))+r(2)*@smax (x(1),x(2))+r(3)*x(2)+r(4)*x(3)+r(5)*@smax (x(2),x(4))+r(6)*x(4)+r(7)*x(6)+r(8)*@smax (x(4),x(5))+r(9)*@smax (x(4),x(5))+r (10)*@smax (x(3),x(6))+r(11)*x(6)+r(12)*@smax (x(5),x(6),x(7))+ r(13)*x(7)+r(14)*x(7)+r(15)*@smax (x(6),x(7)); @for (position(i):@bin (x));@sum (position(i):x(i)*f(i))<=50;!@max 和@smax 是不同的。
数学选课策略建模论文

二.问题描述..........................................................................................2
三.符号说明..........................................................................................2
四.模型的假设......................................................................................2
2.模型二的结果为x=[1 1 1 1 1 1 1 0 1],目标函数最小值 z=-2.8即选修除预测理论外的8门课,共计28学分。
八.参考文献
【1】母丽华 周条件为解决学生选课问题最优解,本文利用0-1规划模型先找出目标函数,再列出约束条件,分三步骤对最终问题逐层分析化多目标规划为单目标规划,分别建立不同的模型,运用Matlab函数bintprog软件求解。从而解决学生既希望选修课程的数量少,又希望所获得的学分多的问题。
特点:根据以上分析,将模型分为以下两个
(1)只为了选修课程门数最少,而不管学分的多少,可建立单目标规划模型。
(2)在考虑课程最少的情况下,使学分最多;
模型一,选修课的课程最少,不考虑学分多少;约束条件只有:每人至少学习过2们数学课,3门运筹学课,2门计算机课和先修课。依此约束条件建立模型一。