问题标签 [operations-research]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
operations - GLPK 多维参数
如何在 GLPK 中使用以下参数距离?像参数距离 {line in Line, dir in Direction , ori in Station , des in Station};?
java - 具有三个元素的二进制变量的双和。如何编码?
我正在研究用线性规划解决时间调度问题。我正在阅读本书的第 2.5 段(第 32-35 页),我正在尝试使用 Java 和 javailp-lp_solve 来解决它。
长话短说,我有一个二进制变量 v(s,c,h),如果主题 s 在课堂 c 的时间段 h 中教授,则其值为 1,否则为 0。
我有一个关于我无法完全理解的约束类型的问题。例如,每位讲师每小时最多教授一门课程(时间段)
在哪里
有两位老师教授以下科目:
我想问:我如何开发这个双重求和,有 3 个元素?
如果我理解得很好,我必须实现这样的东西
但是h呢?它的作用是什么,因为在总结中没有参考它?有一个包含 3 个元素的变量,我应该如何实现它?我在这里完全迷失了,我什至无法创建代码。我很感激你能向我解释这里发生了什么。先感谢您。
algorithm - 任务调度中的 NP 完备性
所以这是一个发人深省的问题,可以让我的教授理解 NP-Completeness 的概念。由于 NP-Completeness 的规则,我明白为什么应该有一个解决方案,但我不知道如何找到它。所以这里是问题:
该问题是具有两个处理器的简单任务调度问题。每个处理器可以处理其中一项n
任务,任意两项任务可以同时完成。每个任务都有一个结束时间e
,必须在这个时间完成。每个任务也有一个持续时间d
。所有时间值,例如结束时间、持续时间和系统中的当前时间(时间将从 0 开始),都是整数。所以我们得到了一个n
任务列表,我们需要使用这两个处理器来调度它们。如果任何一个不能被调度,算法必须返回无解。请记住,顺序无关紧要,哪个处理器获得哪个任务也无关紧要,只要没有重叠并且每个任务在其截止日期之前完成即可。
所以这里是问题变得概念/抽象的地方,假设我们可以访问一个特殊的小函数,我们不知道它是如何工作的,我们所知道的是:给定n
任务列表和当前计划,它将返回true
或false
基于算法是否可以从这一点解决。该功能假设已经安排好的任务是一成不变的,它只会改变未安排的任务的时间。然而,这个函数所做的只是返回真或假,如果它确实找到了解决方案,它不会给你正确的时间表。关键是您可以在调度问题的实现中使用特殊功能。目标是解决调度问题,并使用对特殊函数的多项式调用次数,返回正确调度每个作业的工作时间表。
编辑:为了澄清,问题是这样的:n
使用对“特殊功能”的多项式调用,创建一个解决方案来安排所有任务而不会超过截止日期。
我认为这个问题是为了表明验证解决方案是多项式的,但发现它是非多项式的。但是我的教授坚持认为有一种方法可以使用对特殊函数的多项式调用来解决这个问题。由于问题作为一个整体是 NP 完全的,这将证明运行时的非多项式方面是在算法的“决策部分”出现的。
如果您希望我澄清任何事情,请发表评论,我知道这不是对问题的完美解释。
mathematical-optimization - 使用 AMPL 的多种解决方案
我正在尝试使用 AMPL 对问题进行建模,并且我希望能够看到替代方案或多个“最佳或接近最佳”的解决方案。
我在这个网站上阅读:http: //orinanobworld.blogspot.com/2011/02/finding-multiple-solutions-in-binary.html
我试图让这种类型的东西适合我自己的模型
并尝试实现以下内容:
当我使用这段代码运行我的模型时,它给了我 5 个完全相同的解决方案。我究竟做错了什么?作为一个单独的问题,它似乎Picked
也设置了一些非二进制值(例如 0.7235),即使我认为将其设置为二进制会将其限制为 1 或 0。
java - 在 CPLEX Concert Technology Java 中为约束设置界限
我在一个类中定义一个约束,然后我调用那个类。现在我想为创建的约束定义范围。如何设置约束的上限。代码的相关部分只有我在下面给出。
job-scheduling - AMPL 中的护士调度模型制定
针对以下情况,我一直在研究 AMPL 中的护士调度问题:
总数 护士=20
总数 of shits = 3 #morning,day,night
规划地平线 7 天:比方说 MTWRF 萨苏
除了以下限制:
- 最大编号 一周工作日数:5
- 连续 4 次夜班后的休息日。
- 不允许连续上夜班和早班。
- 每班需要 7 名护士。
- 一名护士每天只能轮班工作,即早、晚、日
成本情景:
目标功能是根据护士的喜好最小化操作成本。
谁能给我一个关于如何制定这个问题的想法?
linear-programming - LP建模时如何根据条件选择参数?
我正在尝试在 IBM CPLEX 中编写混合整数模型,但遇到了问题。这是问题所在:
学生可以学习几门不同的课程,学生从课程中获得的效用取决于学生和课程。具有挑战性的部分是;某些课程的效用有时会不同于个别课程的效用之和,如果它们是由同一个学生一起学习的话。如果该联合效用为零,则应考虑单个效用。在这一点上,我打算做的是编写一个条件,使模型采用联合效用值而不是这两个课程的个人价值,如果它们是由学生参加的,但我无法做到没有非线性。
谢谢你的帮助。
julia - 如何使用 JuMP/Julia 将模型打印到文件中
函数 print(model) 在控制台中输出模型。如何在文件(例如 lp 文件)中打印模型?
最好的
迈克尔。
javascript - 使用java或excel进行组合和模拟
我在我的项目中遇到了问题。我有不同类型的控制器,它们提供不同的输入和输出端口。我有所需的点数。我需要一些代码来生成控制器和类型的数量,具体取决于所需的点+一些应该分配为最便宜组合的备用点。
例如,我有一个系统需要:
- 数字输出点 = 8
- 模拟输出点 = 2
- 数字输入点 = 15
- 模拟输入点 = 4
我需要的是在每个输入/输出上节省 15%:
我所拥有的是:
- 控制器 1 提供:
- 3 个数字输入
- 2 个模拟输出
- 10 个数字输出
- 4 个模拟输入
- 控制器 2 提供:
- 2 个数字输入
- 1个模拟输出
- 3个数字输出
- 3 个模拟输入
控制器 1 的价格为 200 美元,控制器 2 的价格为 120 美元。
如何开始在 excel 上或使用 javascript 上编写此代码?
c++ - 使用 c++ 在 Cplex 中创建三维 IloIntVarArray
我在 c++ 中使用了一些整数变量,例如:
alpha 是范围为 0 - N 的一维数组...
但我的问题是,我想创建 ax[N][M][K],这将是我的整数决策变量,我不知道任何语法或如何启动这些变量。