面试顺序问题:用数学建模优化生产与服务运作中的管理问题

2023-11-18

例题: 有 4 名同学到一家公司参加三个阶段的面试:公司要求每个同学都必须首先 找公司秘书初试,然后到部门主管处复试,最后到经理处参加面试,并且不允许插队(即 在任何一个阶段 4 名同学的顺序是一样的)。由于 4 名同学的专业背景不同,所以每人 在三个阶段的面试时间也不同,如表 5 所示。这 4 名同学约定他们全部面试完以后一起离开公司。假定现在时间是早晨 8:00,请问他们最早何时能离开公司

 1 建立模型 

   实际上,这个问题就是要安排 4 名同学的面试顺序,使完成全部面试所花费的时 间最少。 

t_{ij} 为第i名同学参加第 j 阶段面试需要的时间(已知),令 x_{ij}  表示第i名同学参加第 j 阶段面试的开始时间(不妨记早上 8:00 面试开始为 0 时刻) (i=1,2,3,4 ; j =1,2,3),T 为完成全部面试所花费的最少时间。 

 优化目标为   min T=\left \{ \textup{max}_{i} \left ( x_{i3} +t_{i3} \right ) \right \}                         (1)

约束条件

1)时间先后次序约束(每人只有参加完前一个阶段的面试后才能进入下一个阶段):                                (2)

2 )每个阶段 j 同一时间只能面试 1 名同学:用  0− 1 变量 y_{ik} 表示第k 名同学是否 排在第i名同学前面(1 表示“是”,0 表示“否”),则 

    (3)

可以将上述非线性的优化目标(1) 改写为如下线性优化目标:

\textup{min} \: \: T\\ \: \: \:\textup{ s.t.}\: \: T\geq x_{i3} +t_{i3},\: i=1,2,3,4                   (4)

式(2)~(4)就是这个问题的  0−1  非线性规划模型(当然所有变量还有非负约束,变量  y_{ik} 还有  0− 1约束)。 

2  求解模型 

编写 LINGO 程序如下:

model:
Title 面试问题; 
SETS: Person/1..4/; 
Stage/1..3/; 
PXS(Person,Stage): T, X; 
PXP(Person,Person)|&1 #LT# &2: Y; 
ENDSETS 
DATA: 
T=13, 15, 20, 10 , 20 , 18, 20, 16, 10, 8, 10, 15; 
ENDDATA 
[obj] min=MAXT; 
MAXT>= @max(PXS(i,j)|j#EQ#@size(stage):x(i,j)+t(i,j)); 
! 只有参加完前一个阶段的面试后才能进入下一个阶段; 
@for(PXS(i,j)|j#LT#@size(stage):[ORDER]x(i,j)+t(i,j)<x(i,j+1)); 
! 同一时间只能面试1名同学; 
@for(Stage(j):   
    @for(PXP(i,k):[SORT1]x(i,j)+t(i,j)-x(k,j)<MAXT*Y(i,k));  
    @for(PXP(i,k):[SORT2]x(k,j)+t(k,j)-x(i,j)<MAXT*(1-Y(i,k)))); 
@for(PXP: @bin(y)); 
end 

计算结果为,所有面试完成至少需要 84min,面试顺序为 4-1-2-3(丁-甲- 乙-丙)。早上 8:00 面试开始,最早 9:24 面试可以全部结束。 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

面试顺序问题:用数学建模优化生产与服务运作中的管理问题 的相关文章

  • numpy——mgrid

    x1 x2 np mgrid x1min x1max num1j x2min x2max num2j x1返回的是x1min到x1max间均匀分成num1个数 进行横向扩展为方阵 x2返回的是x2min到x2max间均匀分成num2个数 进
  • 企业级数据单表全量增量抽取数据模型(Kettle版)

    最近在使用Kettle进行ETL的工作 现在总结一下 需求是将MYSQL中的表数据增量备份到HIVE仓库中 第一次是全量 我只想给大伙来点实用的 避免大家踩坑 Kettle是一个基于图形化的ETL工具 也可以用于集成各种作业 比如Sqoop
  • Spring Boot之自定义JSON转换器

    JSON是前后端数据交互最流行的格式 在目前的项目开发中 常见的JSON的转换器有三种 json lib由于自身的缺陷基本不用 最广泛的还是Jackson Jackson 在springboot中默认添加了jackson databind作
  • 使用go语言整合gin,驱动bartender打印标签程序

    可以用来当中间件 项目地址 github GitHub wjdsg0327 printer barTender 使用go语言整合gin驱动bartender打印标签 gitee printer barTender 使用go整合gin驱动ba
  • [kubernetes]step3-kubeadm更新证书有效期

    kubeadm更新kubernetes集群证书 接着上面阿里云上的kubernetes集群 一步步搭建服务 因为kubernetes要上云测试了 不想到时候突然因为证书导致服务挂掉 挨批 就把证书更新一下 感觉10年差不多了 查看证书过期时
  • Java并发编程:CountDownLatch、CyclicBarrier和 Semaphore

    Java并发编程 CountDownLatch CyclicBarrier和 Semaphore 2016 10 07 分类 基础技术 7 条评论 标签 并发 分享到 0 原文出处 海子 在java 1 5中 提供了一些非常有用的辅助类来帮
  • linux源码安装git 教程 ,设置远程库,客户端访问完整版

    1 linux 在 github 下载 git 安装包 然后解压 wget https github com git git archive v2 21 0 tar gz tar zxvf git v2 21 0 tar gz 2 安装gi
  • C++的文件操作open与close

    先看一下相应的打开文件的不同参数的作用 C open 打开文件 含打开模式一览表 打开模式可以用多个 但符号是 不是 注意啦 比如 ios in ios binary表示用二进制模式 以读取的方式打开文件 ios out ios binar
  • 3. 类指针与智能指针

    3 类指针与智能指针 本篇主要解答以下问题 类的对象与类指针的区别 为什么要用智能指针 unique ptr 和 shared ptr 3 1 类对象与类指针 实例化一个类的时候 有两种方式 一是创建对象 二是创建指针 以2 1中的stud
  • 页表长度和页表大小_OS——关于页面大小与页表项的问题

    一 采用分页管理方式时 操作系统将进程划分成若干个页面 将内存划分为若干个内存块 or页 页面和内存块大小一致并且一一对应 但是由于进程划分页面时 最后一个页面大小可能小于内存块大小 导致存放的最后一个内存块存在内部碎片 成为页内碎片 为了
  • 数据库中视图、索引、存储过程的作用

    视图可以被看成是虚拟表或存储查询 可通过视图访问的数据不作为独特的对象存储在数据库内 数据库内存储的是 SELECT 语句 SELECT 语句的结果集构成视图所返回的虚拟表 用户可以用引用表时所使用的方法 在 Transact SQL 语句
  • 内置对象Session与HttpSession是同一个东西吗?

    本质上是 在jsp中session是个内置对象 而在servlet中想使用session就要先得到session 方法如下 HttpSession session request getSession 在jsp中或是在servlet中ses

随机推荐

  • 原动力×云原生正发声 降本增效大讲堂

    原动力 云原生正发声 降本增效大讲堂课程活动链接 原动力 云原生正发声 降本增效大讲堂 提升IT资源利用率 实现降本增效 已经成为企业关注重点 2021 年 CNCF FinOps Kubernetes Report 指出 迁移至 Kube
  • c++ 模板的具体化与实例化

    函数模板是C 新增的一种性质 它允许只定义一次函数的实现 即可使用不同类型的参数来调用该函数 这样做可以减小代码的书写的复杂度 同时也便于修改 注 使用模板函数并不会减少最终可执行程序的大小 因为在调用模板函数时 编译器都根据调用时的参数类
  • Unity3d 简单的按照路径移动物体!

    在TORQUE引擎中 我们只要设置几个点 然后物体会按照这几个点顺序移动 Unity3d也可以的 现在介绍一个很简单的按照路径移动的方法 目标是让蓝色方块沿着紫色方块组成的路径移动 设计思想就是让蓝色方块移动第一个 然后继续移动到第二个 然
  • 室内探索无人机,解决复杂环境下的任务挑战!

    前言 室内探索无人机是一种专为在室内环境中进行任务的无人机系统 相比传统的人员部署 室内探索无人机具有更高的灵活性和机动性 能够在复杂的室内环境中执行任务 用于未知环境的探索和特定目标的搜索 为完成无人机室内搜索与识别等复杂任务 阿木实验室
  • Ubuntu18环境下 python 多进程与多线程测试

    Ubuntu18环境下 python 多进程与多线程测试 测试说明 单一线程单一进程测试函数 多线程下测试函数 多进程下测试函数 主函数与测试结果 测试说明 测试的对象为多次求平方的程序 def task powers limit int
  • 鸿蒙内核阅读笔记-时间管理(los_sys)

    简介 近期在阅读鸿蒙liteOS a 由于是初次探索内核的奥秘 将一些阅读的心得进行分享 希望能在作为笔记的同时 也能帮助更多人学习 感谢图灵大佬的注释项目 使我能够更加快速的理解 https weharmony github io 核心模
  • C语言用循环编写简单菜单程序

    C语言用循环编写简单菜单程序 源码如下 include
  • MyBatis架构与原理深入解析

    点击上方 芋道源码 选择 设为星标 管她前浪 还是后浪 能浪的浪 才是好浪 每天 8 55 更新文章 每天掉亿点点头发 源码精品专栏 原创 Java 2020 超神之路 很肝 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络
  • 汽车信息安全标准ISO/SAE21434与UN/WP.29阅读总结

    1 序言 伴随着汽车与外界的交互手段不断丰富 车联网相关设备 系统间的数据交互更加频繁 万物互联下的网络攻击也逐渐渗透延伸到车联网的领域 这给汽车行业带来了新的 专属挑战 我这几天简要阅读了汽车信息安全领域的几个重要的国际规范 本文就简要讨
  • 光分配网(ODN)一级分光和二级分光的区别及应用场景

    光分配网 ODN 的分光方式主要有两种 一级分光和二级分光 如图1所示 受PON设备光功率预算及带宽的限制 当前 ODN的总分路比一般为1 64 图1 ODN的一级分光和二级分光 采用一级分光时 分路器一般设置在配线光交处 采用二级分光时
  • 什么是新生代的复制算法

    https blog csdn net ooppookid article details 51523701 1 什么是新生代的复制算法 了解堆内存看这里 java堆内存是什么样的 了解java垃圾回收看这里 java垃圾回收机制是什么 所
  • 图像拼接算法及实现_浅谈图像处理算法的实现途径(CPU/FPGA/ASIC)

    人们对图像质量要求的不断提升 直接推动着图像算法的不断向前发展 那么到今天为止 常用的图像处理算法是怎么实现的呢 今天我们来谈一谈 图像处理算法的实现一般有两种途径 软件或者硬件 软件 VS 硬件 软件实现方式 成本低 迭代快 且随着现在各
  • c++调用sqlite3(带加解密)

    StringConvert见https blog csdn net wxd090108 article details 84190762 第三方文件 下载地址 https sourceforge net projects wxcode fi
  • 第六题 整除排序

    题目描述 有一个序列 序列的第一个数是n 后面的每个数是前一个数整除2 请输出这个序列中的值为正数 的项 输入格式 输入一行包括一个整数n 输出格式 输出一行 包括多个整数 相邻的整数之间用一个空格分开 表示答案 测评用例规模和标准 对于8
  • 原理图库元件符号之二极管模型的创建

    今天我们来绘制一个二极管的模型 效果图如下 Step 01 首先画两个引脚 并把Name属性隐藏 Step 02 使用多边形命令 绘制二极管的本体 Step 03 修改多边形属性 多边形线宽改为smallest 然后填充为蓝色 效果图如下
  • Vue中export const 和 export default的区别

    export const 一个文件中可以有好多个 名字叫命名导出 export default 一个文件中只能有一个 名字叫默认导出 代码举例 详见资料链接
  • kong配置好跨域组件后,仍不能跨域,

    路由配置加上OPTIONS
  • python写入txt不覆盖_python不能覆盖文件内容如何解决

    python不能覆盖文件内容的解决方法 使用 with open f w as file 命令即可覆盖文件内容 w 代表每次运行都覆盖文件内容 python不能覆盖文件内容有可能是因为文件的打开方式为追加写方式 更改文件打开方式即可实现再次
  • Linux内存分析free与cache清理

    1 free命令 Linux中查看内存的命令为free 命令如下 free h total used free shared buff cache available Mem 62G 4 9G 627M 520K 57G 57G Swap
  • 面试顺序问题:用数学建模优化生产与服务运作中的管理问题

    例题 有 4 名同学到一家公司参加三个阶段的面试 公司要求每个同学都必须首先 找公司秘书初试 然后到部门主管处复试 最后到经理处参加面试 并且不允许插队 即 在任何一个阶段 4 名同学的顺序是一样的 由于 4 名同学的专业背景不同 所以每人