任务分配问题。要我提一个问题。

规划求解解决任务分配问题 对于不少项目主管、生产主管来说,任务分配工作是日常工作中的一个重要环节,但是很多 时候,他们在分配任务时仅仅凭借了经验和感觉,很少会有人采用科学的手段来合理分配任务, 以达到人尽其责、物尽其用的目的。而事实上,使用Excel 的规划求解工具,并不需要花费多少 时间就可以将任务分配工作进行科学合理的规划安排,可以最大限度的利用现有的人力物力资源 来提高完成工作任务的效率。 在实际工作中,任务分配问题主要研究如何将一些具体的任务分配给合适的人员或设备,使 得完成总任务的开销最少。考量任务开销的标志通常有任务完成时间或完成任务所需的经济成本。 与物资调运问题类似,任务分配问题也存在着任务大于、等于或小于完成对象的情况,下面 分三种情况分别介绍使用Excel 规划求解来解决的方法。 等额任务分配 任务分配问题与物资调运问题有些相似,但任务分配问题有个特点,就是在同一个任务完成 周期内,每个人(每台设备)只能进行一项任务,并且每一项任务也只能分配给某一个人(某一 台机器),其中只存在一一对应的关系,而不存在同一个人完成多项任务、或者同一个任务分割 成多个部分交给不同的人来完成的情况。这个一一对应条件是任务分配问题的逻辑基础。 某软件开发项目主管需要将某个项目中的 5 个独立模块的开发任务分配给 5 个程序员,每 个程序员只能分配到 1 个任务。通过已有的项目开发经验和程序员对任务的评估,得到 5 个程 序员各自完成所有模块所需时间的估算表,如图 1-1 所示: 图 1-1 完成各软件模块所需的时间 如果单纯从谁效率高谁来做的角度出发来分配任务,那么程序员 2 和程序员4 都最适合完 成模块1,而程序员3 和程序员5 最适合完成模块3,但对于整个项目计划来说,需要同时考虑 模块2、模块4 的任务分配安排。因此,需要使用更为科学的统筹安排方法。 1 使用Excel 规划求解工具来解决此任务分配问题的操作方法如下: 步骤1 根据题目需求,在原有题目条件的下方建立规划求解所需的公式模型,如图 1-2 所示: 图 1-2 建立规划求解的模型 其中,B9:F13 单元格区域用于记录实际的任务分配情况,可用数字0 表示任务未分配,用 数字1 表示分配此任务。此区域将作为规划求解的可变单元格区域。 G 列用于统计各程序员最终的任务分配情况,根据任务分配问题的特性,每个程序员最终只 能分配到1 个任务。在G9 单元格内输入公式“=SUM(B9:F9) ”,然后向下复制填充至G13 单元 格。 第14 行用于统计各模块开发任务的最终人员安排情况,根据任务分配问题的特性,每个模 块开发任务最终只能安排给 1 个程序员。在 B14 单元格内输入公式“=SUM(B9:B13) ”,然后向 右复制填充至F14 单元格。 H 列用于统计实际任务分配状态下,各程序员完成对应模块所需的时间,可在H9 单元格内 输入公式“=SUMPRODUCT(B2:F2,B9:F9) ”,然后向下复制填充至H13 单元格。 H14 单元格用于累计 H9:H13 单元格中的时间,即完成所有 5 个模块开发任务所需的总时 间,可在单元格中输入公式“=SUM(H9:H13) ”,此单元格将作为规划求解的目标单元格。 步骤2 为了提高规划求解结果的可读性,可预先设置B9:F13 单元格区域的数字格式。选 中B9:F13 区域,按

组合键,打开“单元格格式”对话框,选择“数字”选项卡,在“分 类”列表中选择“自定义”,然后在右侧的“类型”文本框中输入“0 ”,单击“确定”按钮完成 设置。 步骤3 选中 H14 单元格,单击菜单“工具”→“规划求解”,打开“规划求解参数”对 话框,其中在“设置目标单元格”编辑框内选择H14 单元格,然后在下方选择“最小值”选项。 “可变单元格”编辑框内选择B9:F13 单元格区域。 步骤4 再单击对话框中的“添加”按钮打开“添加约束”对话框进行约束条件的添加, 本例中所包含的约束条件包括:

可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

这个题目***一下,就是将n个数据排列组合,数学算法可以得到种数为A(n,n)=n!

然后在这n!种可能种找到花费最少的那一种就行了。

以下是我写的程序,验证了一下,好像没有什么问题,你看看。

 

参考资料

 

随机推荐