Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SIMULATION CACHE TO EXPEDITE COMPLEX MODELING AND SIMULATION PROCESSES
Document Type and Number:
WIPO Patent Application WO/2008/124203
Kind Code:
A1
Abstract:
A method is provided for determining optimum positions in a region for a plurality of sensors that are capable of detecting occurrence of a hazard in the region The hazard may be a chemical, biological, and/or radiological hazard In solid, liquid or gas form A "simulation cache" is provided that stores data representing interaction of the hazard with sensors at each of the plurality of candidate locations in the region for each of (he plurality of sensor types. Data is then retrieved from the simulation cache as needed for evaluation a particular candidate sensor solution comprising one or more sensors of one or more sensor types at corresponding ones of the candidate locations An optimization algorithm may be used to select a candidate sensor solution.

Inventors:
HENNING MARK DANIEL (US)
SMITH MICHAEL J (US)
SEDEHI JAVAD (US)
CROCOLL WILLIAM (US)
Application Number:
PCT/US2008/052623
Publication Date:
October 16, 2008
Filing Date:
January 31, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ITT MFG ENTERPRISES INC (US)
HENNING MARK DANIEL (US)
SMITH MICHAEL J (US)
SEDEHI JAVAD (US)
CROCOLL WILLIAM (US)
International Classes:
G01N31/00
Foreign References:
US7102514B22006-09-05
US6996478B22006-02-07
Other References:
See also references of EP 2126560A4
None
Attorney, Agent or Firm:
FLOAM, D., Andrew et al. (Shapiro & Finnan LLC,1901 Research Blvd,Suite 40, Rockville MD, US)
Download PDF:
Claims:

What is claimed is:

1. A method for determining optimum positions in a region for a plurality of sensors, wherein the sensors are capable of detecting occurrence of a hazard in the region, comprising: a. simulating occurrence and movement over time of the hazard in the region to produce data representative thereof; b. simulating interaction of the data representing movement of the hazard with data representing the sensors at each of a plurality of candidate locations in the region and for each of a plurality of sensor types; c. storing data resulting from the simulated interaction of the data representing the movement of the hazard with data representing the sensors at each of the plurality of candidate locations in the region for each of the plurality of sensor types; d. selecting one of a plurality of candidate sensor solutions, wherein each candidate sensor solution comprises one or more sensors of one or more sensor types at corresponding ones of the candidate locations; e. retrieving from the stored data the data for the selected candidate sensor solution; f. evaluating said data from said (e) retrieving with respect to performance criteria for the selected candidate sensor solution; and g. selecting another one of the plurality of candidate sensor solutions and repeating (e) and (f).

2. The method of claim 1, and further comprising selecting an optimum one of the candidate sensor solutions based on said (f) evaluating.

3. The method of claim 1, wherein (d) selecting comprises selecting one of the plurality of candidate sensor solutions using an optimization algorithm that finds the sensor location(s) to optimize said performance criteria.

4. The method of claim 3, wherein (d) selecting comprises executing a genetic algorithm that searches for an optimum candidate sensor solution among the plurality of candidate sensor solutions using biological evolution principles.

5. The method of claim 1, wherein (f) evaluating comprises assigning a score to the candidate sensor solution, and wherein (g) selecting comprises selecting another candidate sensor solution based on scores from (f) evaluating a plurality of other candidate sensor solutions.

6. The method of claim 1, wherein (f) evaluating comprises scoring data for the selected candidate solution so that after a plurality of iterations of (e) and (f) for a plurality of candidate sensor solutions, said (d) selecting finds the candidate sensor solution that provides an earliest average warning of the hazard to one or more assets or landmarks in or near the region.

7. The method of claim 1, wherein (d) selecting comprises selecting a candidate sensor solution that comprises a plurality of sensors of the same or different sensor type each at a corresponding one of the plurality of candidate locations.

8. A method for determining optimum positions in a region for a plurality of sensors, wherein the sensors are capable of detecting occurrence of a hazard in the region, comprising: a. simulating occurrence and movement over time of the hazard in the region to produce data representative thereof; b. simulating interaction of the data representing movement of the hazard with data representing the sensors at all candidate locations in the region and for each of a plurality of sensor types; c. upon completion of said (b) simulating, storing alarm data resulting from the simulated interaction of the data representing the movement of the hazard with data representing the sensors at each of the plurality of candidate locations in the region for each of the plurality of sensor types, said alarm data indicating whether and when an alarm condition occurs at each of the plurality of candidate locations for each of the plurality of sensor types; d. using an optimization algorithm, selecting a candidate sensor solution comprising one or more sensors of one or more sensor types at corresponding ones of the candidate locations;

e. retrieving from the stored data the data for the selected candidate sensor solution; f. evaluating and scoring said data from said (e) retrieving with respect to performance criteria for the selected candidate sensor solution.

9. The method of claim 8, and further comprising repeating said (d) selecting to select another one of the plurality of candidate sensors solutions based on said (f) evaluating so as to ultimately find an a candidate sensor solution that optimizes said performance criteria.

10. The method of claim 8, wherein (d) selecting comprises using an optimization algorithm that searches for an optimum candidate sensor solution among the plurality of candidate sensor solutions using biological evolution principles.

11. The method of claim 8, wherein said (d) selecting comprises a candidate sensor solution that comprises a plurality of sensors of the same or different sensor type each at a corresponding one of the plurality of candidate sensor locations.

12. The method of claim 8, wherein (f) evaluating comprises scoring data for the selected candidate solution so that after a plurality of iterations of (e) and (f) for a plurality of candidate solutions, said (d) selecting finds the candidate solution that provides an earliest warning of the hazard to one or more assets or landmarks in or near the region.

13. A method for determining optimum positions in a region for a plurality of A computer readable medium encoded with instructions that, when executed by a computer, cause the computer to generate output useful in determining optimum positions in a region for a plurality of sensors, wherein the sensors are capable of detecting occurrence of a hazard in the region, comprising: a. simulating occurrence and movement over time of the hazard in the region to produce data representative thereof; b. simulating interaction of the data representing movement of the hazard with data representing the sensors at each of a plurality of candidate locations in the region and for each of a plurality of sensor types;

c. storing data resulting from the simulated interaction of the data representing the movement of the hazard with data representing the sensors at each of the plurality of candidate locations in the region for each of the plurality of sensor types; d. selecting one of a plurality of candidate sensor solutions, wherein each candidate sensor solution comprises one or more sensors of one or more sensor types at corresponding ones of the candidate locations; e. retrieving from the stored data the data for the selected candidate sensor solution; f. evaluating said data from said (e) retrieving with respect to performance criteria for the selected candidate sensor solution; and g. selecting another one of the plurality of candidate sensor solutions and repeating (e) and (f).

14. The computer readable medium of claim 13, wherein said instructions for (c) storing comprise instructions for storing alarm data indicating whether and when an alarm condition occurs at each of the plurality of candidate locations for each of the plurality of sensor types.

15. The computer readable medium of claim 13, wherein said instructions for (d) selecting comprises instructions for executing a genetic algorithm that searches for an optimum candidate sensor solution among the plurality of candidate sensor solutions using biological evolution principles.

16. The computer readable medium of claim 13, wherein said instructions for (d) selecting comprises instructions for selecting a candidate sensor solution that comprises a plurality of sensors of the same or different sensor type each at a corresponding one of the plurality of candidate locations.

17. The computer readable medium of claim 13, wherein said instructions for (f) evaluating comprise instructions for scoring data for the selected candidate solution so that after a plurality of iterations of (e) retrieving and (f) evaluating for a plurality of candidate sensor solutions, said instructions for (d) selecting comprise instructions for finding the candidate sensor solution that provides an

earliest warning of the hazard to one or more assets or landmarks in or near the region.

Description:

SIMULATION CACHE TO EXPEDITE COMPLEX MODELING AND

SIMULATION PROCESSES

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

[0001] This invention was made under U.S. Government Contract No. HDTRA1-05-C-0024. The U.S. Government may have certain rights in the invention.

FIELD OF THE INVENTION

[0002] The present invention relates to reducing the run time required for computer simulations.

BACKGROUND OF THE INVENTION

[0003] With the proliferation of chemical, biological, radiological and nuclear weapons, it is critical to be able to rapidly deploy equipment in the field to detect the release of these weapons for protection of military and civilian personnel. [0004] Analysts require decision support tools that can assist them in planning for protection from these threats. These tools need to support sensor optimization in terms of their placement and sensor type mix (point and standoff sensors). To this end, efforts are being made to provide computer simulations and models of movement of a hazard over a three dimensional terrain based on the type of threat, weather and terrain conditions. [0005] Sensor location one of the more important factors in determining the efficacy of a particular sensor network in providing sufficient warning time and/or area coverage. There are numerous techniques to determine sensor location. One approach is to use advanced hazard environment modeling techniques coupled with sensor performance modeling routines and optimization algorithms. Hazard modeling techniques predict movement of a hazard based on the particular agent, weather and terrain in order to determine the nature, spatial extent and duration of the hazard. Sensor modeling techniques produce data representing a sensor's performance (will it detect or not) based on its ability to respond to the threat at various concentration thresholds. The optimization routine used to select the sensor location may include exhaustive searches

and probabilistic models that allow determination of the optimal sensor layout given a range of threats and other criteria.

[0006] Computer modeling and simulation approaches heretofore known are too slow in producing results for sensor layouts. Traditional approaches require significant computational time and resources in order to generate data representing a four dimensional hazard environment. For each proposed or candidate location of a sensor or sensors, of which there may be hundreds or more, the conventional approach involves recalculating the hazard environment in order to determine whether and how fast a sensor layout will detect the hazard. For example, for a hazard scenario of 5 threats and 10 sensors, 50 hazard simulations or runs would be needed taking tens of hours of computing resources. There may be a much larger number of possible threats and sensor layouts to the point that the time required to determine an optimum sensor layout would not be able meet certain real-world scenarios.

[0007] Consequently, a method is needed to more rapidly determine optimum sensor locations in a hazard environment.

SUMMARY OF THE INVENTION

[0008] Briefly, a method is provided for determining optimum positions in a region for a plurality of sensors that are capable of detecting occurrence of a hazard in the region. The hazard may be a chemical, biological, and/or radiological hazard in solid, liquid or gas form. The method comprises simulating occurrence and movement over time of the hazard in the region and producing data representing movement of the hazard in the region. Next, a simulation is run whereby data representing movement of the hazard in the region is interacted with the data representing the sensors at each of a plurality of candidate locations in the region and for each of a plurality of sensor types. This computationally laborious task is performed one time. A "simulation cache" is provided that stores data representing interaction of the hazard with the sensors at each of the plurality of candidate locations in the region for each of the plurality of sensor types. Then, data is retrieved from the simulation cache as needed for evaluation a particular candidate sensor solution comprising one or more sensors of one or more sensor types at corresponding ones of the candidate locations. An optimization algorithm may be used to

select a candidate sensor solution. The data that is retrieved from the simulation cache for a selected candidate sensor solution is evaluated with respect to certain performance criteria. Additional candidate solutions are selected, the corresponding data retrieved from the simulation cache, and the retrieved data evaluated. This selection and evaluation functions repeat until an exit criterion is met, such as convergence of selection, or maximum runtime expiration.

[0009] The simulation cache greatly reduces the time required to generate an optimum sensor layout because it separates the hazard modeling and sensor performance modeling from the optimization algorithm. Therefore, the more complex and computationally intensive hazard modeling is performed once and the key results are stored for access by the optimization algorithm. By capturing this data at one time for storage in the simulation cache, it is not necessary to re-run the hazard simulations for each candidate sensor location generated by the optimization algorithm.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010] FIG. 1 is a diagram depicting a hazard-affected region in which it is desired to determine optimum locations for hazard detection sensors.

[0011] FIG. 2 is a block diagram of a hazard detection system comprising an array of hazard detection sensors and a computing apparatus that analyzes data from the sensors.

[0012] FIG. 3 is a flow chart of a conventional process flow for selecting optimum locations for sensors in a modeled hazard- affected region.

[0013] FIG. 4 is a flow chart of a process flow for selecting optimum sensor locations according to an embodiment of the present invention.

[0014] FIG. 5 is a block diagram of a computing system that employs the process flow shown in FIG. 4 according to an embodiment of the invention.

DETAILED DESCRIPTION

[0015] FIG. 1 illustrates a representative environment to which the present invention pertains. Specifically, a generalized map of a geographic region 10 is shown comprising landmarks such as a train station 20 and a hospital 30. One or more hazards shown at 40 and 50 may occur in the region 10 and it is desirable to determine where to position

sensors in the region in order to detect occurrence of the hazard in order to minimize harm to people in the region and for other reasons. The hazards 40 and 50 may be the release in (liquid, solid or gas form) of a chemical, biological, and/or radiological substance or other agent harmful to humans or animals. The region 10 has a known terrain and generally known or predictable weather patterns. Also shown in FIG. 1 is a grid 60 comprised of a plurality of candidate positions 62 for sensors in a sensor array that can be deployed in the region. Given the terrain and normal weather patterns, it is desirable to determine optimal locations to place a set of N sensors (in an N sensor array) so that they will most effectively sense potential upwind hazards. In the exemplary environment shown in FIG. 1, it may be desirable to determine where to position the sensors in order to provide the hospital 30 and train station 20 the earliest possible warning of a hazard.

[0016] Turning to FIG. 2, a monitoring system 100 is shown comprising an analysis and monitoring computer 200 and a sensor array 300. The sensor array 300 comprises a plurality of sensors 310(1) to 310(N) of the same or different types. The sensors 310(1) to 310(N) are positioned at certain ones of the positions 62 shown in FIG. 1 that are determined to achieve a desired detection and warning capability in the region 10. Examples of sensor types are point sensors and stand-off sensors. Point sensors detect chemical/biological concentrations from surrounding air. Stand-off sensors use spectral returns from a laser to detect and identify a substance on a surface. Sensors also can vary by sensitivity to specific agents, false alarm rate, time to alarm or identify, physical size and other requirements, and importantly cost... Another variation in sensor type is one that has a varying sensitivity to specific agents. Heterogeneous sensor types may be particular useful because it is possible that there may be a very limited number of a particular highly sensitive sensor type are available, whereas sensor types of a lesser sensitivity may be less costly and thus more readily available.

[0017] One method to determine the near-optimal position for the sensors 310(1) to 310(N) is to simulate a number of hazard clouds in 4-dimensional space (x, y, z, time), and then simulate sensors interacting with these hazards at various locations. The results of the performance of the interaction between the hazards and sensors are then combined using one of several possible algorithms, termed fitness functions, to produce a single

rating value. The solution with the best performance, as defined by the fitness function, is chosen as the near-optimal solution. This is known as a combinatory optimization. [0018] These simulations are relatively high cost calculations, meaning that they take a significant amount of time (months to years if re -running those simulations for each possible solution) to solve using conventional techniques. As the number of variables ((number of simulations, number of sensors, different types of sensors, etc.) in the environment increases, the number of possible combinations increases geometrically. [0019] FIG. 3 illustrates a conventional process for determining the optimum position of the sensors in a sensor array. First, at 410, an optimization algorithm is used to select candidate sensor positions (locations in three dimensions) for a particular type of sensor. The candidate sensor positions may consist of candidate positions for each of a plurality of sensors in a sensor array that feeds inputs to an analysis computer such as shown in FIG. 2. The selected candidate sensor positions are referred to collectively as a "sensor solution" because they represent one possible solution of the process. Next, at 420, a hazard is simulated using any one of a several known (or hereinafter developed) hazard simulating techniques. The hazard simulation involves a computer model that simulates occurrence and movement over time of the hazard in a particular region based on the type of hazard, weather and terrain of the region. At 430, the output of the hazard simulation is interacted with data representing the selected candidate sensor positions and sensor type. The input to the interaction computation at 430 is the output of the hazard simulation and a set of coordinates representing the {x, y, z} location of each of the sensors and a type of sensor. Next, at 440, the optimization algorithm used at 410 evaluates the results of the interaction of the hazard with that sensor solution and provides a score or numerical indication of how successful the sensor solution would be based on the certain criteria set for the simulation. The process is repeated for the next sensor solution (candidate sensor locations) so that an evaluation or score is chosen for each sensor solution. The goal is then to choose the sensor solution that achieves the best score and the sensors can then be deployed based on the candidate locations of the sensor solution with the best score.

[0020] In terms of computational cost (time and complexity), selecting a sensor solution at 410 and evaluating the results at 440 is relatively small, but simulating the

hazard at 420 and interacting the output of the hazard simulation with a sensor solution can be as much as 500 times more costly than the computations at 410 and 440. Worse still, the number of sensor solutions that may require evaluating can be extremely larger, such as 40,000 to 160,000 or more depending on the number of sensors used in the simulation and the number of types of different sensors.

[0021] Turning to FIG. 4, the process 500 for determining the location of the sensors according to an embodiment of the present invention is now described. At 510, the occurrence and movement over time of the hazard in the region is simulated similar to 420 in FIG. 3. Data is produced at 510 that represents occurrence and movement of the hazard in the region. At 520, a simulation is executed to interact data representing occurrence and movement of the hazard in the region with data representing the sensors at each of a plurality of candidate locations in the region and for each of a plurality of sensor types so that all possible sensor location and type interaction results are accounted for. The candidate locations may be defined, for example, on a rectangular grid as shown in FIG. 1, though this is not required for purposes of the present invention, so long as the candidate sensor locations are limited in some manner.

[0022] Data representing interaction of the hazard with the sensors at each of the plurality of candidate locations in the region for each of the plurality of sensor types are stored at 530 in what is called a "simulation" cache. The data stored in the simulation cache may comprise alarm time (if an alarm is triggered on the sensor) indicating when after release of the hazard the sensor detects the hazard and the associated hazard concentration, at each candidate sensor position for each sensor type. [0023] As shown at 535, the functions of 510 through 530 are repeated for a statistically significant set of threat scenarios, thus building a library of threat / sensor simulation interactions in the cache.

[0024] At 540, a loop is initiated in which an optimization algorithm is used to select one of the plurality of candidate sensor solutions to be evaluated, wherein each candidate solution comprises one or more sensors of one or more sensor types at corresponding ones of the candidate locations. Next, at 550, data for the selected candidate sensor solution are retrieved from the stored simulation cache. Then at 560, the retrieved data for the selected candidate sensor solution are evaluated and scored by the optimization

algorithm. The loop comprising functions 540, 550 and 560 is executed again for the next candidate sensor solution to be evaluated. The next candidate sensor solution selected by the optimization algorithm at 540 may be based on knowledge gained by the evaluations made for previously selected candidate sensor solutions so that the optimization algorithm narrows or focuses its selection towards those solutions that have a chance of improving achievement of the desired outcome.

[0025] The optimization algorithm invoked at 540 may select a candidate solution that comprises a plurality of sensors of the same or different sensor type each at a corresponding one of the plurality of candidate locations. At 560, the optimization algorithm may be designed to find the candidate solution that optimizes a measure of performance subject to predetermined constraints. The measure of performance may be the time duration from the detection of a hazard to the time the hazard actually interacts with the protected or other locations of concern; and the predetermined constraints may be to provide sufficient advance warning of the hazard at one or more positions in or near the region. In other words, the time of alarm to time of contamination of an asset is vitally important and used as a normalized performance measure. For example, the evaluation function at 560 may involve scoring the selected candidate solution so as to find the solution that provides the earliest warning of the hazard to one or more assets or landmarks in or near the region, e.g., the hospital or train station shown in FIG. 1. Thus, the ultimate goal of the process 500 is to select the optimum one of the candidate sensor solutions by iterating the selection (540), retrieval (550) and evaluation functions (560). [0026] The simulation of the interaction of the hazard with the sensors is run with the sensors at all of the candidate locations for each of a plurality of sensors types to be evaluated. By capturing this data at one time for storage in the simulation cache, it is not necessary to re-run the hazard simulations for each candidate sensor location generated by the optimization algorithm. It also is not necessary to re -run already cached information if additional threat scenarios are added to the problem space. The loop of 510 through 530 loop will need to be run only for the new scenarios.

[0027] The computation cost of the process 500 is much improved over the conventional process 400 shown in FIG. 3. Functions 540, 550 and 560 are the only functions that are repeated for each sensor solution to be evaluated and each of these

functions have a very small computation cost (milliseconds). The function 510 of simulating the hazard has the same computation cost as the function 420 in the conventional process 400 shown in FIG. 3. The function 520 of interacting the hazard simulation output with all of the candidate sensor positions and sensor types has a rather large computation cost. However, it is performed only once per threat scenario, whereas in the conventional process 400 data from the hazard simulation is interacted the candidate sensor positions for each sensor solution (each time through the loop shown in FIG. 4). The function 530 of storing the results of the interaction in 520 to a simulation cache is performed only once per threat scenario and requires only a slightly higher computational cost than the functions 540, 550 and 560. Thus, in the process 500 of the present, the function with the highest computational cost is removed from the optimization loop and is performed only one time. Furthermore, the optimization loop in the process 500 is comprised of functions with very low computational cost. Thus, the process 500 is much faster than the conventional process 400.

[0028] Caching the simulation results allows the optimization algorithm to be run again for changes that do not change the hazards, thus removing the need to run the hazard simulation again. For example, the operational value of warning time thresholds could change. The addition or modification of placement constraints and even the addition or movement of critical assets and their relative importance can change. [0029] FIG. 5 illustrates a computing system 600 that may be used to perform the process 500 shown in FIG. 4. The system 600 comprises a computing resource(s) 610 consisting of one or more computers or server computers. The computing resource 610 is connected to memory 620 that stores optimization algorithm software 622, hazard simulation software 624 and sensor-hazard interaction software 626. There is also stored data in a database 630 for sensor position data 632 for all of the candidate sensor positions (sensor solutions) and sensor type data 634 for all of the types of sensors to be evaluated in the process 500. The optimization algorithm software 622 performs the optimization algorithm used in the process 500, the hazard simulation software 624 performs the hazard simulation in the process 500 and the sensor-hazard interaction software 626 performs the computations that interacts the hazard with the sensor position data for a sensor solution. Thus, the present invention may be embodied by instructions

encoded on a computer readable medium that, when executed by a computer, perform the functions of process 500 shown in FIG. 4 and described herein.

[0030] The present invention is not limited to any particular simulation technology or optimization algorithm. For example, the hazard simulation algorithm may a transport and dispersion simulation, such as, for example, the Areal Location Of Hazardous Atmospheres (ALOHA) model or the Urban Hazard Prediction Assessment Capability (HPAC) model. With modifications to their driving software, these models can be used to store, on a fixed interval (e.g., 3 seconds) the location of the hazard in 3 dimensions. The optimization algorithm may employ a heuristic technique such as a genetic algorithm, or may use complete enumeration (i.e., exhaustive search) or gradient descent techniques. A genetic algorithm searches for solutions using the biological evolution principle of natural selection (survival of the fittest, crossbreeding and mutation). The term "genetic" is used to describe this type of algorithm because the solutions are represented as strings of values analogous to chromosomes and genes. A genetic algorithm starts with a set of initial solutions (typically via random solution generation) and produces increasingly better solutions by selectively combining (called crossover) and stochastically altering (called mutation) existing solutions and weeding out poor ones to converge on a near optimal solution as determined by a specified performance criterion (referred to as the fitness function). This amounts to searching a large multidimensional (and possibly discontinuous) search space to find the solution with the best fitness function value. [0031] The optimization algorithm used in the process 500 may be configured to randomly select candidate sensor locations, and then use further analysis to explore potential solutions. If a genetic algorithm is used, crossover and mutation techniques may be used to further explore the solution space. The likelihood that any solution is kept or used as a basis for evolution of future solutions depends on a score given to a sensor solution.

[0032] The techniques described herein according to embodiments of the present invention provide an efficient method for capturing model and simulation results for processing by various optimization algorithms. The techniques are useful even when the hazard simulation output varies with identical input and thus provides slightly different

solutions each run, because the sensor interaction simulations do not vary with input, and thus caching still maintains integrity of the process.

[0033] Nevertheless, the simulation cache technique described herein may apply to any simulation process where candidate solution combinations can be enumerated and the simulation results are repeatable. For example, and not by way of limitations, it may be used to store integrated dose data for purposes of calculating individual exposure of personnel at varying degrees of protection from a hazard. Instead of using the simulation that interacts notional sensors with instantaneous point concentrations of detectable agent, a replacement simulation would track the integrated dosage for exposed persons with N classes of protection, and report the time at which each of those location/protection class combinations would exhibit various symptoms such as meiosis, impairment, unconsciousness and death. These times and symptom categories would be cached in the same manner as the detection times in process 500. Other decisions such as troop placement and multiple protection profiles could be optimized, though likely with a much different fitness function than the sensor location optimization. [0034] To summarize some advantages of the present invention, the use of a simulation cache as described herein greatly reduces the time required to generate an optimum sensor layout. The simulation cache allows for separating the hazard modeling and sensor performance modeling from the optimization algorithm. Therefore, the more complex and computationally intensive hazard modeling is performed a single time and the key results are stored for access by the optimization algorithm. Sensor locations are limited to a plurality of candidate positions or locations. The simulation of the interaction of the hazard with the sensors is run with the sensors at all of the candidate locations. The simulation cache then stores the data resulting from the interaction (alarm time if an alarm is triggered on the sensor and associated hazard concentration at the sensor) for each sensor at its candidate location, for each hazard simulation and for each sensor type. By capturing this data at one time for storage in the simulation cache, it is not necessary to re-run the hazard simulations for each candidate sensor location generated by the optimization algorithm. As a result, there is a substantial reduction in the run time. Furthermore, it becomes possible to perform ad hoc optimization analysis without involving or accessing the hazard and sensor models. This means that less computational

resources are needed for running the optimization algorithm when it is necessary to add or subtract sensors and other constraints typical of real- world scenarios.

[0035] The system and methods described herein may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The foregoing embodiments are therefore to be considered in all respects illustrative and not meant to be limiting.