第二天:Interactive Optimizer 教程
来源:互联网 发布:android 查看端口占用 编辑:程序博客网 时间:2024/06/06 07:36
一、启动
在cmd中输入cplex,跳出
二、帮助
输入help command name
三、输入问题
enter用于从键盘输入新问题;
使用LP格式,按如下顺序:目标函数->约束->界限
输入目标函数之前必须申明是最小化还是最大化,前缀maximize或minimize;
变量名称格式和高级编程语言类似,但是不能包含e或E,因为它们用于指数,例子:maximize x1+2x2+3x3
约束前面加前缀subject to或者st,例子:
st
-x1+x2+x3<=20
x1-3x2+x3<=30
约束名称,缺省为c1,c2……,cn,也可以自己定:
st
time:-x1+x2+x3<=20
labor:x1-3x2+x3<=30
目标函数名称缺省为obj,也可以自己定。
界限,上限和下限,缺省为[0,正无穷),bounds必须单独位于一行:
bounds
x1<=40
最后结束输入end
四、显示问题
display命令,详见Interactie Optimizer显示问题
五、对问题求解
optmize命令
接下来,在屏幕上会出现迭代日志。 CPLEX 在其对问题求解时报告其进度。 求解过程涉及两个阶段:
在阶段 I 期间,CPLEX 搜索可行解法
在阶段 II 期间,CPLEX 搜索最优可行解法。
报告解法
CPLEX 在找到最优解法后会报告以下内容:
目标函数值
问题求解时间(以秒为单位)
总迭代计数
阶段 I 迭代计数(用括号括起来)
提交迭代日志
每次 CPLEX 对问题求解时,出现在屏幕上的大部分信息还会定向到日志文件中。 此文件由 CPLEX 使用名称 cplex.log 自动创建。 如果在启动 CPLEX 的目录中存在现有 cplex.log 文件,那么 CPLEX 会将当前会话数据附加到现有文件。 如果要保留问题会话的唯一日志文件,那么可以使用set logfile 命令更改缺省名称。 (请参阅《CPLEX 用户手册》。) 日志文件以标准 ASCII 格式编写并可使用任何文本编辑器进行编辑。
重新求解
您可以通过重新发出 optimize 命令来对问题重新求解。 CPLEX 从先前最优基重新启动求解过程,并因此不需要迭代。 如果您不希望从高级基重新启动问题,请使用set advance 命令关闭高级启动指示符。
请记住,在发出 optimize 命令之前,问题必须存在于内存中(通过 enter 命令输入或从文件读取)。
使用替代优化器
除 optimize 命令外,CPLEX 还可使用主单纯形法优化器(primopt 命令)、对偶单纯形法优化器(tranopt 命令)、内点优化器(baropt 命令)和网络优化器(netopt 命令)。 使用这些替代优化器(在《CPLEX 用户手册》中进行了更详细的记录)可以更快对许多问题求解。 如果要对混合整数规划问题求解,那么 optimize 命令与 mipopt 命令等效。
中断优化
我们的简短示例非常快速地得到求解。 但是,较大的问题(尤其是混合整数问题)所需时间可能要长得多。 有时,中断优化过程可能很有用。 如果使用control-c,那么 CPLEX 允许此类中断。 (必须同时按 control 和 c 键。) 此时会中断优化,CPLEX 发出指示该过程已停止的消息,并且显示进度信息。 如果在同一会话中发出另一个优化命令,那么 CPLEX 将从中断位置恢复优化。
有关解法的以下特征的信息可通过 display solution 命令获取
注意:cmd中用shift+enter换行
- 第二天:Interactive Optimizer 教程
- windows平台zend optimizer安装配置教程
- Backtrader量化平台教程(七)Optimizer
- Xcode互动教程 : Interactive Tutorials for Xcode5
- java教程第二天--循环
- Rviz教程(五):Interactive Markers: Writing a Simple Interactive Marker Server
- IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置教程
- Flash Optimizer(图片压缩工具)汉化免费版下载附教程
- Rviz教程(四):Interactive Markers: Getting Started
- Rviz教程(六):Interactive Markers: Basic Controls
- DIV+CSS教程《第二天 一列布局》
- 小迪教程——第二天
- [Unity教程][关卡教程] Interactive Tutorial 3的场景t15的学习
- PS教程第二篇
- awk教程-第二章
- [python3教程]第十四章.交互输入编辑和历史替代(Interactive Input Editing and History Substitution)
- osgUtil::Optimizer
- Zend Optimizer
- dpdk kni例子程序分析
- 关于thrift的使用
- hoj 2430 Counting the algorithms (树状数组)
- Toast管理——ToastUtils
- spring与mybatis三种整合方法
- 第二天:Interactive Optimizer 教程
- Windows环境下TensorFlow的安装及如何在Jupyter Notebook中使用TensorFlow
- Hive如何添加第三方JAR
- Java的内存回收——Java引用的种类
- JNDI是什么
- JavaScript-逗号操作符
- 概念解析
- 2017省选拔(二)poj3494 Largest Submatrix of All 1’s (单调栈+预处理)
- Reverse String II