1问题重述与分析
简而言之,如图要给每个展厅安装摄像头,摄像头只能安装在过道,只有连通过道的大厅才能被覆盖,比如过道(1)连结了展厅1和展厅3。要求在覆盖所有大厅前提下最小需要安装多少摄像头。
2模型建立与求解
2.1模型建立
建立的数学模型如下:
2.2模型求解
求解模型必须要有相关数据,改模型所需要的数据关键是所构成的矩阵,根据图1的信息得到其数据矩阵如下,数据采集方法为:如果通道连通展厅即为1,否则为0。
[1 0 0 1 0 1 0 0 0 0 0 0 0
0 0 0 0 0 1 0 1 0 0 0 1 0
1 1 1 0 0 0 0 0 0 0 0 0 0
0 0 1 1 1 0 1 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 0 0 0
0 0 0 0 0 0 0 0 0 1 0 1 1
0 1 0 0 1 0 0 0 1 0 1 0 0
0 0 0 0 0 0 0 0 0 0 1 0 1]
数据得到之后可以利用MATLAB和Lingo编程求解,在这里我们直接调用MATLAB0-1规划函数进行求解,其程序如下:
clc,clear
c=[1 1 1 1 1 1 1 1 1 1 1 1 1 ];
%目标函数的系数矩阵
ic = [1:13];
%系数统计
A=[ -1 0 0 -1 0 -1 0 0 0 0 0 0 0;
0 0 0 0 0 -1 0 -1 0 0 0 -1 0;
-1 -1 -1 0 0 0 0 0 0 0 0 0 0;
0 0 -1 -1 -1 0 -1 0 0 0 0 0 0;
0 0 0 0 0 0 -1 -1 -1 -1 0 0 0;
0 0 0 0 0 0 0 0 0 -1 0 -1 -1;
0 -1 0 0 -1 0 0 0 -1 0 -1 0 0;
0 0 0 0 0 0 0 0 0 0 -1 0 -1];
%不等式约束的变量系数矩阵
b=[-1;-1;-1;-1;-1;-1;-1;-1];
%不等式约束的资源数
[x,fval] = intlinprog(c,ic,A,b,[],[],[],[],[]);
%调用0-1规划求解函数
求解结果如下表(决策变量值),其中目标函数值为4,即最少安装4个摄像头可以覆盖所有展厅,这四个摄像头安装的位置分别是通道1,通道5,通道8,通道13。
3结果检验
将四个通道标记,观察下图可知结果是正确的,切无法减少摄像头数量使能够覆盖所有展厅。
4总结
本文针对展厅安装摄像头的问题,建立了简单的整数优化模型,该模型是较为简单的线性规划问题,特别之处在于引入了0-1整数规划。对于此类简单的线性规划问题,只需调用MATLAB求解线性规划的相关命令就可以求解。此文不在于繁复的计算和数学的推推到,旨在以生活中的案例,简化成优化问题从而建立整数优化的数学模型,让人体悟到优化的思想以及数学模型的实用性。