CCTV Surveillance
Contents
Problem description
In the course of the last few months, the industrial zone of Billston has suffered from a series of break-ins and thefts during the night. The zone is watched by security men but there are too few of them. The town council in charge of security in this zone decides to install surveillance cameras to aid the security men with their task. These cameras can be directed and pivot through 360 degrees. By installing a camera at the intersection of several streets, it is possible to survey all adjoining streets. The map in the figure below shows the industrial zone with the limits of the zone to be covered by closed circuit TV (CCTV) surveillance and the 49 possible locations where to install the cameras. What is the minimum number of cameras that have to be installed to survey all the streets of this zone and where should they be placed?
The industrial zone in Billston
13 -- 14 -- 18 -- 17 28 -- 29 35 -- 36
| | | | | | | | | | | | 15 -- 19 26 -- 27 34 48 | | / | | | | | | / | | | | |
12 16 -- 20 24 -- 25 -- 30 33 47 -- 45 -- 46
| / | / | / | | | / | / | / | |
3 -- 11 -- 21 -- 22 31 37 -- 43 -- 44 -- 49
| \ \ | | | \ \ | | | | 4 -- 9 -- 10 23 -- 32 -- 38 | | | \ | | | | \ | | | | 6 5 39 -- 40 -- 41 -- 42 | | | \ | / | | \ | / | | / | 8 7 | / | | / | | / | | / | | /
1 --------------------------- 2
Variables
arcs_out/in These variables describe the network of streets
Reference
Applications of optimization... Gueret, Prins, Seveaux
% Marcus Edvall, Tomlab Optimization Inc, E-mail: tomlab@tomopt.com % Copyright (c) 2005-2009 by Tomlab Optimization Inc., $Release: 7.2.0$ % Written Oct 7, 2005. Last modified Mar 24, 2009.
Problem setup
arcs_in = [1 1 2 2 3 3 3 3 4 4 4 6 6 9 11 12 12 13 14 14 15 15 16 ... 17 18 19 20 21 22 22 23 24 25 25 26 26 28 30 31 31 32 32 ... 33 33 34 35 37 37 38 39 40 41 43 44 44 45 45 47]'; arcs_out = [2 3 39 41 4 11 12 16 5 6 9 7 8 10 21 13 15 14 15 18 16 ... 19 20 18 19 20 21 22 23 25 32 25 26 30 27 28 29 31 32 33 ... 38 39 34 37 35 36 38 43 40 40 41 42 44 49 45 46 47 48]'; n = length(arcs_in); %arcs arcs = tom('arcs',n,1,'int'); % All variables are binary bnds = {0 <= arcs <= 1}; % All streets need to be covered con = {arcs(arcs_in) + arcs(arcs_out) >= 1}; % Objective objective = sum(arcs); constraints = {bnds, con}; options = struct; options.solver = 'cplex'; options.name = 'CCTV Surveillance'; sol = ezsolve(objective,constraints,[],options); PriLev = 1; if PriLev > 0 disp('Put cameras in nodes ') disp(num2str(find(sol.arcs)')) end % MODIFICATION LOG % % 051205 med Created % 060118 per Added documentation % 060125 per Moved disp to end % 090325 med Converted to tomSym
Problem type appears to be: mip ===== * * * =================================================================== * * * TOMLAB - Tomlab Optimization Inc. Development license 999001. Valid to 2010-02-05 ===================================================================================== Problem: --- 1: CCTV Surveillance f_k 24.000000000000000000 f(x_0) 0.000000000000000000 Solver: CPLEX. EXIT=0. INFORM=101. CPLEX Branch-and-Cut MIP solver Optimal integer solution found FuncEv 23 Put cameras in nodes 2 3 4 6 9 13 15 18 20 21 23 25 26 28 31 33 35 37 38 39 41 44 45 47