当前位置:
文档之家› 运筹帷幄 运筹学与生活 田雨鑫
运筹帷幄 运筹学与生活 田雨鑫
运筹帷幄
运筹学与生活
学号:20130852 姓名:田雨鑫
运筹帷幄 运筹学与生活
田雨鑫 东北大学
目录
第 1 章 运筹学给我的启示 ......................................................................... 2 1.1 运筹学学习的意义和个人感悟 ....................................................... 2 1.1.1 运筹学学习的意义 ................................................................ 2 1.1.2 运筹学学习的个人感悟......................................................... 3 1.2 运筹学给我的启示.......................................................................... 4 1.2.1 指派问题——人尽其材我有招 ............................................. 4 1.2.2 最大流问题——构建最优网络 ............................................. 8 1.2.3 决策树——决策者的思维导图 ........................................... 10 1.2.4 单目标决策——博弈场上我做主 ....................................... 13 1.2.5 动态规划——分阶段解决问题 ........................................... 16 第 2 章 关于我们的运筹学课 ................................................................... 20 2.1 对于我们运筹学课的评价 ............................................................ 20 2.2 对运筹学课的建议........................................................................ 21 致谢 ............................................................................................................ 21
A 甲 乙 丙 丁 15 19 26 19 B 18 23 17 21 C 21 22 16 23 D 24 18 19 17
问指派哪人去做什么工作,可使总的消耗时间最小? 该类问题既然说是算法,那么我们完全可以利用计算机来解决。由于本人 喜欢计算机,曾在业余时间单独研究过运筹学的计算机编程。下面我就要利用 C 语言解决以上指派问题。 程序代码如下: #include <stdio.h> #include <math.h> int p[4]={1,2,4,8}; int rec[6][16],way[6][16];
2
运筹帷幄 运筹学与生活
田雨鑫 东北大学
有“缺陷”。什么缺陷呢?缺陷便是你不谨慎!不要小瞧“不谨慎”三个字,不谨慎 有可能是你失去性命!有句话说的好:“君不密则失臣,臣不密则失身,几事不 密则成害!”运筹学概念繁多,易混点难点众多,是锻炼人思维缜密的好学科。 比如说考试时有一道有关分支定界法的题, 如果你只答 X≤4 之类的, 你就错了, 因为你没有写明角标。所以,认真学习运筹学,能很好地锻炼我们严密的思维。 最后,本科的运筹学培养了我们的兴趣,是一个很好的敲门砖,让我们知道 这门学科, 为以后考管理科学方向的研究生提供了参考。 个人觉得, 不学运筹学, 你永远都不会觉得运筹学有多么有趣,数学有多么的美!你永远不会听到“有阴 必有阳,阴阳协调”、“无所谓生与死,无所谓对偶问题与原问题,无所谓正推与 逆推”、“你的赢得等于对方的损失”、“缺什么,补什么”等这类富有“哲理”的数学 语言。总之,我想说,张川老师的运筹学,确实带给我极大的兴趣,也带给我非 常多的收获。
摘要
运筹学(Operations Research)是一门综合了数 学、管理、哲学等学科的、研究如何运用定量的方法 解决企业与日常生活中的种种管理决策问题, 给出最 优决策方案, 解决资源优化问题的学科。 它是一种逻 辑性很强并且带有一定艺术性、哲理性的科学。
作者信息
学校:东北大学 院系:工商管理专业 会计系 班级:会计 1301
5
运筹帷幄 运筹学与生活
田雨鑫 东北大学
int i,j; int map[4][4]={{15,18,21,24},{19,23,22,18},{26,17,16,19},{19,21,23,17}}; int f(int a,int state) { if (a==5 && state==15) return 0; for (i=0;i<4;i++) if (((p[i]&state)!=p[i]) && (f(a+1,state|p[i])+map[a1][i])<rec[a][state] ) { rec[a][state]=f(a+1,state|p[i])+map[a-1][i]; way[a][state]=state|p[i]; } return rec[a][state]; } int func(int a) { int i; for (i=0;i<4;i++) if (a==p[i]) return i+1; } void out(int a,int state) { if (a==5) return; printf("第%d 个人做第%d 项工作/n",a,func(way[a][state]^state)); out(a+1,way[a][state]); } int main(void) { freopen("txt.out","w",stdout); for (i=0;i<6;i++) for (j=0;j<16;j++) rec[i][j]=0x7fffffff; printf("最小消耗时间:%d/n",f(1,0)); printf("方案如下:/n"); out(1,0); return 0; } 再如:指派甲、乙、丙、丁四个人去完成五项任务。每个人完成各项任务所需 用的时间(小时)如下表所示。规定其中有一个人可兼完成两项任务,其余三人 每人完成一项任务,试确定总的花费时间为最少的指派方案。
1
运筹帷幄 运筹学与生活
田雨鑫 东北大学
第 1 章 运筹学给我的启示
1.1 运筹学学习的意义和个人感悟
1.1.1 运筹学学习的意义
运筹学(Operations Research)是一门综合了数学、管理、哲学等学科的、研 究如何运用定量的方法解决企业与日常生活中的种种管理决策问题, 给出最优决 策方案,解决资源优化问题的学科。它是一种逻辑性很强并且带有一定艺术性、 哲理性的科学。 (个人的理解) 运筹学和计算机一样,产生于二战时期,当时主要为了打仗。二战以后,运 筹学才逐渐开始向民用发展。目前,运筹学应用范围十分广泛:计算机、管理、 金融、材料……诸多领域都离不开运筹学。作为一名东北大学工商管理学院的学 生,学习好运筹学是十分有意义的! 首先,运筹学提供给我们定量分析问题的思路。企业做决策已经不是拍脑子 就能敲定那么简单的事情了。现代市场经济竞争激烈,影响竞争力的因素繁多, 太多的数量关系需要利用运筹学去计算, 太多的资源优化问题需要运用定量的方 法去解决。所以说,管理者并不是像电影电视当中简简单单动动嘴皮就行的,他 们需要严格的、谨慎的、定量的思考。 你看看那著名的华尔街,他们招人才绝不是招那些学习金融专业的学生,他 们需要的是一流的数学专业学生。 数学, 是一个永远都有用的科学。 懂数学的人, 才能够真正精通金融, 掌握经济的发展。 相反, 那些纯粹学习金融与管理的学生, 大多是只会说却不会实践的人。 第二,运筹学能够锻炼我们的思维,使我们能更加谨慎地对待问题。无论今 后是否会真的利用运筹学解决实际问题, 我们学习运筹学都要经历一个考试的过 程。我这里并不是在支持应试教育,我只是想说,考试的成绩并不能反映一个人 的能力、智力,但是一定能反映出一个人的内在的个性、性格与心理素质。据张 川老师所说,历年来运筹学卷面成绩上 90 的很少,平时所学的并不能够反映到 卷面上。我认为,说难听点儿,考试考不好,不能说明你笨,只能说明你的性格
3
运筹帷幄 运筹学与生活
田雨鑫 东北大学
1.2 运筹学给我的启示
1.2.1 指派问题——人尽其材我有招
指派问题是整数规划部分最具代表性的问题。 该问题通过对 “任务-人员” 矩 阵进行处理,而得到最佳的指派方案。指派问题在实际生活中应用十分广泛,例 如,如果你是一个集体项目的小组长,那么,应如何安排组内成员去完成各部分 工作,使之花费的时间最少或者产生的效率最高呢?在我的印象中,组长给同学 安排任务,基本上都是拍拍脑袋,随便就定下了谁去做什么。可以看出,这样做 的主观性太强,不一定是最佳的方案。如果组长能用指派问题的算法去解决这类 问题,不仅高大上好多,而且效率会大幅度提升!指派问题有好多种解法,老师 讲的只是其中几个。个人通过研究,结合实际生活,总结出了指派问题有以下几 种类型: (1)人事相等的指派问题; (2)人浮于事的指派问题; (3)事多人少的指派问题。 指派问题的一般算法如下: (1)矩阵各行分别减去各行的最小元素; (2)矩阵各列分别减去各列的最小元素; (3)从第一行开始扫描,圈出独立 0 元素,并将该独立 0 元素同列上的其 他 0 元素划去,并按照这种方法进行下去,直到扫描完全部行; (4)扫描完全部行后,开始从第一列开始扫描,圈出独立 0 元素,并将该 独立 0 元素同行上的其他 0 元素划去, 并按照这种方法进行下去, 直到扫描完全 部列。列做完回到第(3)步重复下去,直到进行不下去; 注意:进行完以上步骤后,如果仍然存在 0 元素,就给 0 元素少的那列的 0 元素加圈,同时划去同行同列的 0 元素。可反复进行,直到不再出现 0 元素为 止; (5)检查独立 0 元素(画圈的 0)的个数是否等于矩阵的阶数,若相等,完 成指派,0 处变 1,其他变 0 表明指派与否;若小于阶数,执行下一步。 (6)调整方法: