Stochastic optimization and simulation

The term "stochastic" originates from the Greek word meaning "able to guess" and, in modern times, specifically refers to modeling uncertain phenomena using a probability measure. The future behavior of most real-life operational systems—whether in industry or elsewhere—is influenced by parameters that carry some degree of uncertainty. For example, how long a warehouse operator takes to pick a customer's order, the time a vehicle needs to travel between addresses, the impact of weather on a solar panel's output, a company's sales figures for the next quarter, or a patient's consultation time are all uncertain factors that can be effectively modeled as random variables with specific probability distributions. This distribution can be suggested by the modeler based on domain expertise or empirically derived from historical data. Naturally, when some input parameters of a system's model are random variables, so too are the system's resulting performance metrics—such as the number of orders picked in a warehouse per day, the fuel cost of a vehicle's delivery route, today's energy costs for a production plant, a company's quarterly profit, or a patient's waiting time. To draw meaningful insights, we aim to compute or estimate the expected value of these random performance metrics.

For many realistic systems, however, analytically evaluating the desired performance metrics is often unfeasible without resorting to crude approximation methods. Fortunately, with sufficient computational power, we can reliably estimate them through sampling techniques such as Monte Carlo simulation. Although conceptually straightforward, the main challenge here is to build a computer model of the system's functionality and evolution over time, striking a balance between simplicity and complexity relative to the performance metrics we aim to estimate. Discrete-event simulation is one of the well-established techniques for achieving this balance effectively.

Stochastic optimization builds on this idea. Suppose that, in addition to some uncertain parameters, the system also includes decision variables under the control of decision-makers. Examples include the number of picking operators in a warehouse, the size of the delivery vehicle, the number of solar panels installed, the production quantity in a quarter, or the number of doctors scheduled to receive patients. If we can evaluate or estimate the (expected) performance metrics of the system and translate them into financial costs, then stochastic optimization seeks to find the optimal values of the decision variables to minimize those costs. The structure of the problem determines how efficiently this can be achieved, but in most cases, significant computational resources are required, and even then, it's rare to guarantee that the best-found decision is truly optimal. The primary challenge in stochastic optimization is often to strike a balance between the quality of the obtained decision and the computational time required to find it.