数学建模 -- 整数规划中的0-1规划

整数规划

定义:
若线性规划最优解可取整:
线性规划在整数规划中最优解全部都是整数,那么整数规划和线性规划的结果是相互一致的。
线性规划在整数规划中没有可行解。
线性规划在整数规划中存在可行解,但是最优解值变差。
分类:

纯整数规划(完全整数) 混合整数规划(部分整数) 0-1规划(所有决策变量只取0,1)

分支定界法 (纯,混), 割平面法(纯,混) 隐枚举法(求0-1规划,分为过滤法 分枝法)

匈牙利法(指派问题 0-1规划特殊情况) 蒙塔卡罗法(各种规划问题)

应用:

电力领域的电网的布局以及分配,仓库运输供应链领域,火车课程飞机安排问题等调度问题,路径优化(GPS)

0-1规划定义:
0-1是特殊的整数规划,决策变量只有0 ,1,也叫二进制变量
约束条件 0<=x<=1 且x为整数\
可以把各种情况统一放在一个问题中讨论(多目标函数变成单目标函数,国赛立体)

例题

某连锁超市经营企业为了扩大规模,新租用五个门店经过装修后再营业。现有四家装饰公司分别对这五个门店的装修费用进行报价,具体数据如表1所示。为保证装修质量规定每个装修公司最多承担两个门店的装修任务。则为节省装修费用,该企业该如何分配装修任务?
12345
A1513.812.51114.3
B141413.210.515
C13.81312.811.314.6
D14.713.61311.614

一 模型假设

每家店的装修工作只能由一个装修公司单独完成

二 符号说明

假设i=1,2,3,4分别表示A、B、C、D四家装修公司,那么,则表示第c(ij) (i=1,2,3,4) 家装修公司对第j个门店的装修费用报价。

三 模型建立

image-20231205164504777

image-20231205164704096

四 Matlab代码

clc; clear;

% 从 Excel 文件中读取数据 这是我放数据的地方,自己要更换
c = xlsread('C:\Users\lenovo\Desktop\百度网盘下载\连大数学建模\线性规划的整数规划01\工作簿1.xlsx');

% 创建优化问题
prob = optimproblem;

% 定义变量
x = optimvar('x',4,5,'Type','integer','LowerBound',0,'UpperBound',1);

% 定义目标函数
prob.Objective = sum(sum(c.*x));

% 添加约束条件
prob.Constraints.con1 = sum(x,1) == 1;
prob.Constraints.con2 = sum(x,2) <= 2;

% 求解优化问题
[sol, fval, flag] = solve(prob);
% sol 是求解 fval 是答案最小花费 flag 
% 显示解向量
disp(sol.x);

  • 22
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值