printing - 打印 OPL 中的每个进程
问题描述
我是台湾的一名大学生,我正在研究“应该安装多少风力涡轮机和太阳能光伏板才能满足半导体工厂最低能源渗透率的要求”。
我的教授希望我可以显示每个时期的每个变量,但我不知道我应该写什么代码。也许我的代码中会有“execute”和“writeln”?但是什么也没发生。
以下是我的简要代码:
{string} product = ...;
range time = 1..2;
{string} GreenPower = ...;
string NonGreenPower = ...;
dvar float InPut[product][time]; //In t period, amount of input of products
dvar float working[product][time]; //In t period, amount of working of products
dvar float OutPut[product][time]; //In t period, amount of output of products
所以,我想看看每次 IntPut 的变化,怎么做。
感谢您阅读并容忍我的语法或拼写错误QQ
解决方案
为了将解决方案打印到控制台,您可以使用后处理块。后处理块是通过在约束规范之后(块之后)放置一个execute
块来实现的。subject to
打印变量的后处理块可能如下所示(未经测试的代码):
execute {
for (var p in product) {
for (var t in time) {
writeln(p + ", " + t + ": " + InPut[p][t] + ", " + working[p][t] + ", " + OutPut[p][t]);
}
}
}
CPLEX 附带的许多示例使用后处理来向控制台显示解决方案。您可以查看它们以了解在后处理中可以做什么以及在控制台中可视化解决方案的不同方法。
推荐阅读
- reactjs - 无法测试连接的组件
- r - 用 R 插值不规则时间序列
- javascript - 如何在 JavaScript 中执行内联 for 循环,该循环未连接到变量
- python - 如何以pythonic方式从嵌套字典中获取键
- symfony - 为 Symfony5 捆绑实体配置第二个实体管理器
- android - SimpleExoPlayer 没有第二次流式传输
- sql - 触发器的 SQL INSTEAD 中的多行
- python - Sage Math 9.0 (Jupyter) 中的 Python Pandas - Windows
- java - 如何从java中的字符串中删除所有类型的前缀称呼?
- c - 队列接口