我正在尝试使用 Microsoft Solver Foundation 解决我的线性程序,但它没有返回解决方案。它没有明确说明出了什么问题,所以我不确定发生了什么。我检查了约束,我相信它们编码正确,但也许 LP 模型本身是错误的?如果你能看看它,看看有什么问题,我会很高兴:)
===Solver Foundation Service Report===
Date: 15/10/2021 16:00:21
Version: Microsoft Solver Foundation 3.0.2.10889 Express Edition
Model Name: DefaultModel
Capabilities Applied: MILP
Solve Time (ms): 51
Total Time (ms): 103
Solve Completion Status: Unknown
Solver Selected: Microsoft.SolverFoundation.Solvers.SimplexSolver
Directives:
Simplex(TimeLimit = -1, MaximumGoalCount = -1, Arithmetic = Default, Pricing = Default, IterationLimit = -1, Algorithm = Default, Basis = Default, GetSensitivity = False)
Algorithm: Primal
Arithmetic: Exact
Variables: 133 -> 133 + 40
Rows: 40 -> 40
Nonzeros: 522
Eliminated Slack Variables: 0
Basis: Slack
Pivot Count: 0
Phase 1 Pivots: 0 + 0
Phase 2 Pivots: 0 + 0
Factorings: 0 + 0
Degenerate Pivots: 0 (0,00 %)
Branches: 0
我做这个是为了一个实际的任务,所以我不想分享我的代码。有关分配的信息:这是一个机器分配问题,您必须为所有患者计划两次预约。有全局参数:
- p1 : 第一次约会的持续时间
- p2 : 第二次约会的持续时间
- g : 第一次和第二次约会之间的差距
每位患者需要计划的两次预约t1和t2。每个患者还有个人参数:
- 间隔I1=[r1, d1],可以计划第一次约会的时间间隔
- x:(个人)第一次和第二次约会之间的额外差距
- length l,第二个时间间隔的长度。I2=[t1 + p1 + g + x,t1 + p1 + g + x + l - 1]