Tag: ojalgo

ojAlgo – 连续块逻辑的优化问题?

我正在使用ojAlgo来解决作为练习的课堂安排问题。 源代码可以在kotlin_solution文件夹的GitHub上find: https://github.com/thomasnield/optimized-scheduling-demo 一切都很顺利,直到我开始实施在Math Exchange上描述的连续块逻辑。 基本上,如果一个课程需要4个模块,那么这4个模块需要在一起。 出于某种原因,当我在这部分代码中实现连续逻辑时,这个建模逻辑会尖叫一声。 无限的搅动 这里是完整的Kotlin代码: import org.ojalgo.optimisation.ExpressionsBasedModel import org.ojalgo.optimisation.Variable import java.time.DayOfWeek import java.time.LocalDate import java.time.LocalDateTime import java.time.LocalTime import java.util.concurrent.atomic.AtomicInteger // declare model val model = ExpressionsBasedModel() val funcId = AtomicInteger(0) val variableId = AtomicInteger(0) fun variable() = Variable(variableId.incrementAndGet().toString().let { “Variable$it” }).apply(model::addVariable) fun addExpression() = funcId.incrementAndGet().let { “Func$it”}.let { model.addExpression(it) } // […]

ojAlgo线性优化 – 防止工作班次重叠?

我对线性优化很陌生,我想将其应用于经典的调度问题。 对于人员配置问题,我不太清楚如何声明捕捉正在采取的“转变”概念的功能。 我正在使用迄今为止非常棒的ojAlgo。 这是我想出的一个小小的问题: SCENARIO: You have three drivers to make deliveries. Driver 1 costs $10 / hr Driver 2 costs $12 / hr Driver 3 costs $14 / hr Each driver can only work 3-6 hours a day. Only one shift can be worked by a worker a day. Operating day is 6:00 to […]

ojAlgo – 在优化中将变量表示为边界?

我一直在玩ojAlgo,到目前为止我一直非常激动。 我已经通过一些研究,但我遇到了这篇文章中描述的这个问题 。 我正在使用Kotlin而不是Java,但是这不应该导致任何问题。 我卡住试图输入一个表达式到我的模型,但边界上一个变量,而不是文字数值。 我如何输入? 这是我迄今的工作: import org.ojalgo.optimisation.ExpressionsBasedModel import org.ojalgo.optimisation.Variable fun main(args: Array<String>) { val model = ExpressionsBasedModel() val ingredients = sequenceOf( Ingredient("Pork", 4.32, 30), Ingredient("Wheat", 2.46, 20), Ingredient("Starch", 1.86, 17) ).map { it.name to it } .toMap() val sausageTypes = sequenceOf( SausageType("Economy", .40), SausageType("Premium", .60) ).map { it.description to it } .toMap() // […]