文章目录

  • 1 CPLEX简介
  • 2 CPLEX优化平台搭建
    • 3 CPLEX优化平台测试
      • 目标函数及约束
      • 代码
      • 结果
  • 参考文献

1 CPLEX简介

CPLEX 是一种数学优化技术。主要用于提高效率、快速实现策略并提高收益率。使用 WebSphere ILOG CPLEX 的数学优化技术可以就资源的高效利用做出更佳决策。使用CPLEX,可以将复杂的业务问题表现为数学规划 (Mathematic Programming) 模型[1]

凭借简单、快捷、易于移植的优良特征, IBM WebSphere ILOGCPLEX 已成功应用于包括 SAP、Oracle、Sabre 以及众多科研单位与机构,其可解决的问题大致包括线性规划问题、二次方程规划问题、二次方程约束规划问题以及混合整型规划问题等几类。其中,对于混合整型规划问题,由于带求解变量包括整形变量与其他浮点变量,常规的诸如 PSO(Particle Swarm Organization,PSO) 等优化算法难以使用该类问题或者模型的求解。 CPLEX 平台构建包括 IBM WebSphere ILOG CPLEX 等关键软件的下载、 CPLEX 与 yalmip 软件在 MATALB 平台上的安装与测试等多个环节,构建过程较为繁琐与复杂[2]

IBM ILOG CPLEX Optimization Studio 使用决策优化技术创建最优计划和规划[3]

2 CPLEX优化平台搭建

本部分主要参考《基于MATLAB的CPLEX优化平台构建》[2]

CPLEX优化平台主要包括 MATLAB软件 、 CPLEX软件 、 yalmip 软件,首先需要去官网下载相关安装程序,然后按照先后顺序搭建相关平台。

  • MATLAB安装
    MATLAB软件平台较为普遍,在此不做赘述。安装完MATLAB之后,留意MATLAB安装地址,以备后用。

  • CPLEX安装
    由于 CPLEX 安装过程存在试用版和学院版的选择,在此不做详细展开。按照软件的常规安装完成安装即可。

  • yalmip安装
    从 GitHub 下载完 yalmip 压缩包之后,解压到 MATLAB 软件中的 toolbox 目录下。

  • MATLAB中设置路径
    进入 MATLAB 中的设置路径,选择添加并包含子文件夹将 CPLEX 下的 matlab 文件夹和 yalmip 整个文件夹添加完成。

3 CPLEX优化平台测试

平台搭建完毕之后,使用yalmiptest指令在命令框进行测试。如果上述顺利完成,可以看到 CPLEX 的相关信息。测试样例如下:

目标函数及约束

minZ=12x1+5x2+8x3s.t.{2x1+3x2+x3≥304x1+x2+x3≥15x1,x2,x3≥0min Z=12x_1+5x_2+8x_3 \\ \\ \begin{array}{l}s.t.\left\{\begin{array}{l}2x_1+3x_2+x_3\geq30\\ 4x_1+x_2+x_3\geq15\\ x_1,x_2,x_3\geq0 \end{array}\right.\\\end{array} minZ=12x1​+5x2​+8x3​s.t.⎩⎨⎧​2x1​+3x2​+x3​≥304x1​+x2​+x3​≥15x1​,x2​,x3​≥0​​

代码

clear;clc;close all;c = [12 5 8];
A = [2 3 1; 4 1 5];
b = [30; 15];%决策变量
x = sdpvar(3,1);%目标函数
z = c*x;%添加约束
%C = [];
%C = [C; A*x >= b];
%C = [C;x>=0];
C=[A*x >= b,x>=0];
ops=sdpsettings('verbose',0);
%求解
result = optimize(C,z,ops);
if result.problem == 0    %求解成功x_star=double(x)z_star=double(z)elsedisp('求解过程中出错');
end

结果

x_star =09.64291.0714z_star =56.7857

参考文献

[1] CPLEX_百度百科

[2] 王玮,何松,杨青斌. 基于MATALB的CPLEX优化平台构建[J]. 数字技术与应用, 2018, 36(12): 98-99

[3] What can IBM CPLEX Optimizer do for business?

[4] Cplex求解器

CPLEX仿真能力可行性分析相关推荐

  1. 达索系统入手XFlow开发商 强化3DEXPERIENCE平台的仿真能力

    12月27日,达索系统宣布正式收购Next Limit Dynamics公司,此次收购将有助于强化达索系统3DEXPERIENCE平台行业解决方案中的多物理场仿真能力,并在计算流体动力学 (CFD) ...

  2. 弹道仿真软件_【决战决胜14】看,七部仿真试验室如何降本增效?

    仿真技术具有安全.经济和可重复等优势,已成为继理论研究.科学实验之后第三种科学研究的有力手段.随着院战术武器从无控简控到精确制导.从单一型号到型谱化系列化.从武器研制到系统集成开发的不断发展,七部半实 ...

  3. 直播回顾 | 关于Apollo 5.0控制在环仿真技术的分享

    Apollo 用于模型验证和测试的基于 Web 的仿真平台 Dreamland 已经更新到能使用更强大的场景编辑器和环控制模拟. 基于 Apollo 流水线和机器学习的动力学模型,复杂度较高,同时基于 ...

  4. Apollo仿真「训练有素」,长沙无人驾驶出租「轻车熟路」

    允中 发自 凹非寺 量子位 报道 | 公众号 QbitAI 书接上回,我们介绍到:百度Apollo无人驾驶出租,已在长沙全面免费开放. 但是!也有不少朋友发来疑问:心里有点担忧,不敢坐. 毕竟之前都是 ...

  5. python的仿真效果好吗_Python SimPy 仿真系列 (1)

    本系列文章旨在介绍 SimPy 在工业仿真中的应用. 在物流行业/工厂制造业/餐饮服务业存在大量急需优化的场景, 例如:如何最优化快递分拣人员的排班表以满足双十一突发的快递件量 如何估算餐厅在用餐高峰 ...

  6. matlab暂态信号,MATLAB6在电力暂态波形仿真实现中的应用

    1概述现代继电保护不但要测量电力系统稳态情况下的特性,还要测量电子系统暂态情况下的特性.对绝大多数保护装置来说,不可能利用实际电力系统的人工短路试验来检验其性能.继电保护试验设备应具有仿真能力,能模拟 ...

  7. fanuc roboguide_ROBOGUIDE软件:机器人产线输送带输送物料虚拟仿真操作

    概述 输送带在机器人生产线或工作站中是常见的物料传送设备,它能够将物料从一个工位自动传送到另一个工位,是实现自动化生产制造必不可少的装置设备之一. 虚拟仿真是对真实的工业机器人生产线或工作站的图形化再 ...

  8. python 仿真模拟_Python SimPy 仿真系列 (1)

    本系列文章旨在介绍 SimPy 在工业仿真中的应用. 在物流行业/工厂制造业/餐饮服务业存在大量急需优化的场景, 例如: 如何最优化快递分拣人员的排班表以满足双十一突发的快递件量 如何估算餐厅在用餐高 ...

  9. 流体仿真前处理,Fluent工程师的”基本功”和”看家本领”

    作者 | 张杨 仿真秀专栏作者 Fluent软件的工作原理是应用了有限元的思想,将连续的空间离散成一定数量的控制体,从而使得流体力学中的偏微分方程组得以求解.因此,在Fluent求解之前,必须要进行一 ...

  10. Romax Nexus—机电一体传动系统设计与仿真平台

    经纬恒润作为Romax Nexus工具国内业务的代理商,致力于为电驱动系统.齿轮.轴承行业提供解决方案.英国Romax公司是一家集软件开发与项目咨询为一体的技术服务公司,是汽车.工业.风电及轴承应用领 ...

最新文章

  1. MySQL基础篇:设置大小写不敏感
  2. C#中DataTable的一些用法
  3. 前端进阶-Position
  4. 服务器怎么初始化系统,CentOS服务器怎么进行初始化
  5. 卡尔曼滤波器求速度matlab,卡尔曼滤波器算法浅析及matlab实战
  6. jQuery和MooTools的真正区别
  7. Java Duration类| isNegative()方法与示例
  8. linux 操作mysql 数据库命令_Linux 操作数据库命令
  9. java jdbc rowset_JDBC RowSet的使用
  10. 两个子线程不冲突_多线程操作可见性
  11. Flink入门训练--以New York City Taxi为例
  12. cad计算机土方软件,土方计算软件FastTFT - 飞时达软件
  13. fan4801开关电源原理图_六款简单的开关电源电路设计,内附原理图详解
  14. linux查看本机IP掩码,linux下 取得本机ip、掩码、网关
  15. 软件测试需求分析方法有哪些,一起来看看吧
  16. 电脑无法新建文件怎么办?
  17. CSS教程:认真学习haslayout
  18. MYsql---添加自增字段
  19. java集合-set练习题
  20. Android与鸿蒙系统安全(三)

热门文章

  1. 优秀程序员的八个好习惯
  2. [RK3288][Android6.0] 网络服务Netd初始化流程小结
  3. 从0开始学java-day08:eclipse的使用和超市管理系统案例
  4. matlab 四面体体积
  5. Linux驱动开发: FrameBuffe(LCD)驱动开发
  6. 获取某一天的开始时间
  7. cpu功耗排行_常见NAS CPU处理器性能排行榜(简单天梯图)
  8. 【语音增强】基于matlab小波变换语音增强【含Matlab源码 296期】
  9. 电脑蓝牙耳机,蓝牙耳机能连笔记本吗_笔记本电脑怎么接蓝牙耳机吗-win7之家
  10. EBS R12中SLA子分类帐与子模块的关联关系