SimCity(BuildIt)经济的子集可以用 Minizinc 表示吗?
Can subset of SimCity ( BuildIt) economy expressed in Minizinc?
我想在 SimCity buildit 中编写一个用于安排生产的求解器。由于我是 Minizinc(以及一般求解器 - blush)的初学者,我不确定我想尝试的东西是否有意义。
- 在《模拟城市》中,您需要先生产资源(铁、木头、种子、塑料……),然后才能使用它们来制造产品(锤子、钉子、木板)。
- 资源和产品可以结合起来创造其他产品(例如椅子可能需要木头、锤子和钉子)。
- 资源可以并行生产(每个工厂有例如 5 个插槽来生产任何种类的资源,但不需要排队)。
- 产品在与主题相关的商店(例如家具、工具等)中按顺序创建(具有 - 有限长度 - 生产队列)。
- 资源和产品的存储空间是共享且有限的。
我想了解的是,在 Minizinc 中是否完全可以创建一个计划器来为要生产的项目列表吐出最快的可能时间表,或者我是否最好开始明确马上编码 ?
这些问题都可以使用 MiniZinc 来解决,虽然我还没有听说有人解决了这个具体问题。您的问题似乎与 jobshop 问题 密切相关。这个问题可能会提供一个很好的基线,并且这个问题的版本有多种模型可以从中开始。您可以在 MiniZinc 基准存储库中找到许多示例模型(质量不同):https://github.com/MiniZinc/minizinc-benchmarks
正如 Patrick Trentin 指出的那样,您必须牢记使用 MiniZinc 解决的各种问题的复杂性。通常,解决这些问题的时间会呈指数级增长,甚至更糟。为了找到难题的解决方案,已考虑问题建模的方式和求解器使用的技术(以及使用哪个求解器)来解决问题。如果您刚刚开始使用 MiniZinc,我建议您学习 MiniZinc Coursera 课程,这会让您立即入门:https://www.coursera.org/learn/basic-modeling
我想在 SimCity buildit 中编写一个用于安排生产的求解器。由于我是 Minizinc(以及一般求解器 - blush)的初学者,我不确定我想尝试的东西是否有意义。
- 在《模拟城市》中,您需要先生产资源(铁、木头、种子、塑料……),然后才能使用它们来制造产品(锤子、钉子、木板)。
- 资源和产品可以结合起来创造其他产品(例如椅子可能需要木头、锤子和钉子)。
- 资源可以并行生产(每个工厂有例如 5 个插槽来生产任何种类的资源,但不需要排队)。
- 产品在与主题相关的商店(例如家具、工具等)中按顺序创建(具有 - 有限长度 - 生产队列)。
- 资源和产品的存储空间是共享且有限的。
我想了解的是,在 Minizinc 中是否完全可以创建一个计划器来为要生产的项目列表吐出最快的可能时间表,或者我是否最好开始明确马上编码 ?
这些问题都可以使用 MiniZinc 来解决,虽然我还没有听说有人解决了这个具体问题。您的问题似乎与 jobshop 问题 密切相关。这个问题可能会提供一个很好的基线,并且这个问题的版本有多种模型可以从中开始。您可以在 MiniZinc 基准存储库中找到许多示例模型(质量不同):https://github.com/MiniZinc/minizinc-benchmarks
正如 Patrick Trentin 指出的那样,您必须牢记使用 MiniZinc 解决的各种问题的复杂性。通常,解决这些问题的时间会呈指数级增长,甚至更糟。为了找到难题的解决方案,已考虑问题建模的方式和求解器使用的技术(以及使用哪个求解器)来解决问题。如果您刚刚开始使用 MiniZinc,我建议您学习 MiniZinc Coursera 课程,这会让您立即入门:https://www.coursera.org/learn/basic-modeling