整数规划--分支定界法的Matlab实现

本文详细介绍了如何使用Matlab编程实现整数规划问题的分支定界法,通过实例解析了关键步骤和核心算法,帮助读者理解并掌握这一优化技术。
摘要由CSDN通过智能技术生成

Matlab实现:

A = [-1 3; 7 1];
b = [6; 35];
c = [-7; -9];%标准格式是求min,此题为max,需要转换一下

lb = [0; 0];%x值的初始范围下界
ub=[inf;inf];%x值的初始范围上界

optX = [0; 0];%存放最优解的x,初始迭代点(0,0)
optVal = 0;%最优解
[x, fit, exitF, iter] = BranchBound1(A, b, c, [], [], lb, ub, optX, optVal, 0)

%A,b,c分别对应此题的不等式约束系数矩阵,不等式约束常数向量,目标函数系数向量
%Aeq   等式约束系数矩阵,   Beq    等式约束常数向量
%vlb   定义域的下界        vub    定义域的上界
%optXin   每次迭代的最优x   optF   每次迭代最优的f值  iter迭代次数
function [xstar, fxstar, flagOut, iter] = BranchBound1(A, b, c, Aeq, Beq, vlb, vub, optXin, optF, iter)
    global optX optVal optFlag;%将最优解定义为全局变量
    iter = iter + 1;
    optX = optXin; optVal = optF;%更新迭代得到的值
    % options = optimoptions("linprog", 'Algorithm', 'interior-point-legacy', 'display', 'none');
    
    [x, fit, status] = linprog(c, A, b, Aeq, Beq, vlb, vub, []);
    %status返回算法迭代停止原因
    %status = 1 
  • 25
    点赞
  • 95
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值