导航

  • Integer programming
  • integer and binary variables
  • mixed integer conic programming
  • general mixed integer programming
  • References

Integer programming

YALMIP内置了BNB求解器可以处理整数规划问题

integer and binary variables

定义二元变量binvar和整型变量intvar如下

x=intvar(n, m);
y=binvar(n, m);

设置目标函数

z=x+y+trace(x)+sum(sum(y));
F=[z>=0, x<=0]

也可以声明变量的类型

x = sdpvar(n, m);
y = sdpvar(n, m);
z = x+y+trace(x)+sum(sum(y));
F = [z>=0, x<=0, integer(x), binary(y)];

mixed integer conic programming

内置的BNB求解器的算法为基础算法,只有当问题规模较小的时候才可以起作用,考虑线性回归的问题,加上变量的整型约束

%%
x = [1 2 3 4 5 6]';
t = (0:0.02:2*pi)';
a = [sin(t) sin(2*t) sin(3*t) sin(4*t) sin(5*t) sin(6*t)];
y = a*x+(-4+8*rand(length(a),1));x_hat = intvar(6,1); % 整型变量
residuals = y-a*x_hat;
bound = sdpvar(length(residuals),1); % 变量上下界
F = [-bound <= residuals <= bound];optimize(F,sum(bound)); % L1 norm
x_L1 = value(x_hat);optimize([],residuals'*residuals); % L2 norm
x_L2 = value(x_hat);bound = sdpvar(1,1); % L_inf norm
F = [-bound <= residuals <= bound];
optimize(F,bound);
x_Linf = value(x_hat);

BNB同样支持半正定混合整数规划,可以设置半正定约束

%%  semidefinited constraint
F = [toeplitz(x_hat) >= 0];
ops=sdpsettings('solver', 'BNB');
optimize(F, residuals'*residuals, ops);
x_L2_toep = value(x_hat)

general mixed integer programming

在非线性混合整数规划中未必可以找到全局最优解,但是可以找到近似可行的局部最优解也是合理的

%% general MIP
x = sdpvar(5, 1);
A = randn(15, 5);
b = rand(15, 1)*10;obj = sum(x)+sum((x-3).^4); % 目标函数为四阶矩
ops=sdpsettings('solver', 'bnb', 'bnb.solver', 'fmincon');
optimize([A*x<=b, integer(x)], obj, ops)

使用BMIBNB可以求出全局最优解,但是适合变量较少的情况,并且求解速度较慢

% ops = sdpsettings('solver','bmibnb', 'bnb.upper', 'fmincon');
% ops=sdpsettings('solver', 'bmibnb');
ops = sdpsettings('solver','bmibnb', 'bmibnb.uppersolver', 'fmincon');
optimize([A*x <= b, integer(x)],obj,ops)

References

Integer programming

【OR】YALMIP 整数规划相关推荐

  1. matlab 整数规划工具箱,Matlab中的YALMIP工具箱 混合整数规划

    YALMIP工具箱 混合整数规划 定义变量: sqdvar()实型 intvar()整型 binvar()0-1型 设定目标函数 : f=目标函数 设定限定条件: F=set(限定条件) 多个限定条件 ...

  2. MATLAB+yalmip+cplex 整数规划

      整数规划问题的解决实践.本文将简单介绍整数规划问题是什么,如何配置环境以及如何在MATLAB上通过工具箱yalmip调用外部解析器cplex解决整数规划问题. 文章目录 1. 整数规划问题 2. ...

  3. MATLAB求解非线性0-1整数规划(基于Yalmip工具箱)

    前言: 折腾了老半天,直接在CSDN里面搜找不到代码,百度刚开始也就找到一个bnb20工具箱,可那已经是2009年的玩意了.不过还是很幸运,在我绝望到想用遗传算法求解的时候,终于找到了一个叫Yalmi ...

  4. matlab yalmip 例程,YALMIP工具箱使用范例.pdf

    YALMIP工具箱使用范例 YALMIP工具箱简介 东北大学数学系 王琪 wangqimath@126.com YALMIP工具箱简介 • 基于符号运算工具箱编写 • 一种定义和求解高级优化问题的模化 ...

  5. 基于MATLAB/yalmip/cplex 的机组最优组合

    文章目录 一.绪论 1.研究目的 2.背景概述 二.机组组合优化数学模型 2.1.问题分析 2.2.符号说明 2.3.模型建立 2.4.模型简化 三.算例介绍 总结 一.绪论 1.研究目的 (1).熟 ...

  6. YALMIP的简单说明

    最近在做论文时,涉及到最优化问题,而最优化里面很多时候涉及的是二次约束二次规划QCQP这样的非凸问题,一般地,这样的非凸问题是得不到全局精确的最优解的,需要另辟蹊径.常用的有半定松弛SDR.将非线性松 ...

  7. Matlab求解优化问题-Yalmip

    1.前言 前述文章介绍fmincon函数用以求解非线性规划问题,但是fmincon面对非线性整数规划没有办法.对此,根据对网上资源的搜索,发现有一个工具箱可以解决这一个问题,那就是Yalmip. Ya ...

  8. matlab使用yalmip工具箱

    使用yalmip工具箱可以像书写数学模型那样输入规划问题的约束和目标函数,非常方便. 以下为在Matlab R2018a下添加yalmip并简单使用的例子 一.下载解压 下载地址:https://ya ...

  9. yalmip + lpsolve + matlab 求解混合整数线性规划问题(MIP/MILP)

    转自,原文: https://www.cnblogs.com/kane1990/p/3428129.html 最近建立了一个网络流模型,是一个混合整数线性规划问题(模型中既有连续变量,又有整型变量). ...

  10. python 混合整数规划_matlab求解混合整数规划的困惑

    请问谁用过CPLEX 之类的 求解混合整数规划(Mixed integer prgramming)的matlab插件 mex file 1.能给我传一个直接可用(好用)的么... 万分感谢 网上找了好 ...

最新文章

  1. 在一台机器上搭建多个redis实例
  2. ffmpeg php 抠像_PHP中使用ffmpeg截取视频图片笔记
  3. LVS (一) 原理
  4. 人人都是 API 设计者:我对 RESTful API、GraphQL、RPC API 的思考
  5. Max Sum Array 贪心(2500)
  6. 高性能服务器存储服务器,高性能存储服务器
  7. linux中利用脚本编写数组,shell脚本编程之数组
  8. HTML 中的特殊字符
  9. 机器人踩滑板_不死神草、飞行滑板…超2000种创新发明在这里展出
  10. 第二把数独游戏 代码
  11. html表格筛选排序规则,excel表格的排序规则与排序技术
  12. 深入剖析RGB、CMYK、HSB、LAB
  13. 计算机时间小于会计期间错误,会计期间手工记账和电脑记账不一样问题
  14. PO与VO之间的相互转换
  15. 解决markdown-it-prism未能正确加载Languages的BUG
  16. Ubuntu18.04使用Xorg创建虚拟屏幕
  17. C#绘制九宫格形式的图片
  18. Java Web和Java后端学习之路
  19. 索引数组与关联数组的定义及区别
  20. 小米10S MIUI13.0.3线刷12.5.14

热门文章

  1. Android Studio导入安卓源码
  2. EditPlus 快捷键大全
  3. NEFU计算机组成原理课程设计之乘法器
  4. 波的散射,孔金瓯等著三卷本书籍目录
  5. 科技爱好者周刊(第 149 期):新能源汽车,谁会是赢家?
  6. 电子商务平台搭建方案
  7. java adminlte 使用_AdminLTE框架基础布局使用
  8. 实践应用|Python自动化连接FTP批量下载指定文件
  9. wifi频率和zigbee干扰_设置Zigbee和wifi信道避免干扰的方法
  10. Sigmoid函数介绍