optimization - Pyomo:将信息从一个优化传递到另一个优化
问题描述
我一直在使用 Pyomo 慢慢建立一个能源调度模型,它现在具有我想要包含的大部分调度约束。
现在来了我认为可能是棘手的一点。为了避免完美远见的问题,我想一次优化一天。当我在接下来的每一天优化时,模型将被传递新的信息:关于加载点的信息以及每个单元是否已提交,来自前一天的结果。目前,我的模型每天都独立运行,并生成一个包含每天输出的 json 文件。
我想我现在想修改工作流程,以便:
- 我优化了“d”日
- 从“d”的优化中获取选定的输出
- 这些输出成为“d+1”的初始条件
- 优化“d+1”
随后,我将在代码中添加前瞻,但我认为一旦我破解了上述内容,这将是直截了当的。
我想我可以通过编写一些代码来解决这个问题,这些代码在 Pyomo 之外处理来自“d”的输出,为“d+1”创建一组新的输入,然后返回到 Pyomo 以优化“d+1”,但是这感觉像是一个繁琐的解决方案,可能会很慢。有没有人能指出我如何以更有效的方式解决这个问题的示例或指导?
解决方案
我写了一些东西来帮助在求解后对 Pyomo 模型的所有参数和变量进行后期处理。这可以帮助您轻松获得所有输出,并将它们作为下一次迭代的输入。祝你好运。 https://github.com/judejeh/PyomoSolverWrapper
推荐阅读
- java - 使用动态投影对子实体进行 Spring JPA 分页
- c# - 确定 excel 单元格是否包含公式(VSTO:C# 或 VB)
- python - BST(二叉搜索树)元素过滤功能不断遇到“NoneType”对象
- reactjs - next-i18next 翻译整个应用和子页面
- typescript - 如何覆盖完全不同类型的包中的@types?
- python - Windows 上的詹金斯奴隶
- xcode - 在 xcode 内的情节提要中显示状态栏
- python - 在受限时跟踪鼠标移动
- patch - 补丁失败 - 没有这样的文件或目录,但文件存在并且实际应用了补丁
- jenkins - 詹金斯:睡眠()没有睡觉