【OR】YALMIP 整数规划
运用决策优化工具如线性规划或整数规划 #生活技巧# #领导力技巧# #决策心理学#
导航 Integer programminginteger and binary variablesmixed integer conic programminggeneral mixed integer programmingReferencesInteger programming
YALMIP内置了BNB求解器可以处理整数规划问题
integer and binary variables
定义二元变量binvar和整型变量intvar如下
x=intvar(n, m); y=binvar(n, m); 12
设置目标函数
z=x+y+trace(x)+sum(sum(y)); F=[z>=0, x<=0] 12
也可以声明变量的类型
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)]; 1234
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);
123456789101112131415161718192021BNB同样支持半正定混合整数规划,可以设置半正定约束
%% semidefinited constraint F = [toeplitz(x_hat) >= 0]; ops=sdpsettings('solver', 'BNB'); optimize(F, residuals'*residuals, ops); x_L2_toep = value(x_hat) 12345
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) 12345678
使用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) 1234
References
Integer programming
网址:【OR】YALMIP 整数规划 https://www.yuejiaxmz.com/news/view/182593
相关内容
旧房翻新or重建 哪个比较划算?反常规and 1=1的or 1=2注入技巧
RL笔记:动态规划(1): 策略估计和策略提升
动态规划的应用
家庭理财规划书完整版
高效生活整理术: 规划整理专家的教科书
家居规划整理收纳表
[Errno 2] No such file or directory
大学生生活规划
职业规划职业规划范本