0% found this document useful (0 votes)
16 views5 pages

Dynamic Programming for Shortest Routes

Dynamic programming is an algorithmic technique used to solve complex problems by breaking them down into smaller subproblems. It works backwards from the final stage to the initial stage, making optimal decisions at each stage. The document illustrates applying dynamic programming to find the shortest route between Atlanta and St. Louis. It breaks the problem down into 4 stages, analyzes the routes at each stage, and determines the overall shortest route is 1-4-6-9-10 at a total distance of 650 miles.

Uploaded by

Cheslyn Espada
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views5 pages

Dynamic Programming for Shortest Routes

Dynamic programming is an algorithmic technique used to solve complex problems by breaking them down into smaller subproblems. It works backwards from the final stage to the initial stage, making optimal decisions at each stage. The document illustrates applying dynamic programming to find the shortest route between Atlanta and St. Louis. It breaks the problem down into 4 stages, analyzes the routes at each stage, and determines the overall shortest route is 1-4-6-9-10 at a total distance of 650 miles.

Uploaded by

Cheslyn Espada
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

1

TLO 6: Illustrate the algorithm for solving simple applications of dynamic programming and
goal programming

DYNAMIC PROGRAMMING

Dynamic programming is a quantitative technique used to make a series of


interrelated decisions. It is concerned with finding a combination of decisions which
will maximize overall effectiveness.

For example, a company may wish to make a series of marketing decisions


over time which will provide it with the highest possible sales volume.

Another organization may wish to find that series of interrelated production


decisions over time which will minimize production cost or minimize hiring and
layoff to achieve some specified production goal.

The dynamic programming approach divides the problem into a number of


subproblems, or stages. The decision we make at each stage influences not only
the next stage but also every stage to the end of the problem.

Dynamic programming starts with the last stage of the problem and works
backward toward the first stage, making optimal decisions at each stage of the
problem.

Whereas linear programming has standard ways to formulate the problems


and solve them, there is no such “standard approach” in dynamic programming. It
is, instead, sort of a general way of solving large, complex problems by breaking
them down into a series of smaller problems which are more easily solved.

DYNAMIC PROGRAMMING APPLIED TO THE SHORTEST-ROUTE PROBLEM

Kooch Kottas is the truck dispatcher for an Atlanta transportation company.


His firm has been awarded a contract to pick up a number of loads of woven
material in Atlanta and transport them to St. Louis. Kooch has looked at the map of
alternative routes between those two points and constructed the highway network
below:

The circles (nodes) represent the origin, destination, and other cities where
routes intersect. The arrows (or branches) represent the highways connecting the
nodes, each with its mileage indicated.
2

Kooch’s problem is to find the shortest route from Atlanta to St. Louis.

Stage 1. There is one route each from input node 8 and 9 going to node 10, with
the following distances:

Input node Output node Route Shortest distance


To Saint Louis
8 10 8-10 150
9 10 9-10 100
The solution is the shortest distance from each of stage 1 input nodes to Saint
Louis.

Stage 2. Analysis of stage 2 distances from input and output nodes are as follows:

Input node Output node Route Shortest distance


To Saint Louis
7 8 7-8 275
6 9 6-9 300
5 8 5-8 400
3

Note that there are two output nodes for node 5: 8 and 9. The choice of an optimal
route from node 5 is either 500 miles or 400 miles. Route 5-8-10 is the optimal
one.

Stage 3. We begin with node 2. Using the optimal answers for nodes 6 and 5 from
stage 2, we evaluate routes 2-6 and 2-5 and choose route 2-6 (300 + 300 < 275 +
400).

Looking at node 4, we see that we have three choices: we use the optimal answers
for nodes 6, 5 and 7 from stage 2 (300, 400, 275). We evaluate routes 4-6, 4-5
and 4-7 and choose 4-6 (500 < 575 or 550).

For node 3, there are two choices: routes 3-5 and 3-7. Using the optimal answers
for nodes 5 and 7 from stage 2, we choose route 3-5 (600 < 625).

Stage 3 results are:

Input node Output node Route Shortest distance


To Saint Louis
4

2 6 2-6 600
4 6 4-6 500
3 5 3-5 600

Stage 4. There is only one input in stage 4, node 1, and so we have 3 choices: 1-2,
1-4 or 1-3. Using the output of stage 3, we evaluate the 3 routes and choose 1-4
(650 < 700 or 775).

Stage 4 results are:

Input node Output node Route Shortest distance


To Saint Louis
1 4 1-4 650

THE SHORTEST ROUTE

Now that we have solved the four individual problems, let us go through the
network from stage 4 to stage 1 and pick the route at each stage which leads us to
the optimal decision. The table below illustrates this process. We can see now that
the shortest route between Atlanta and Saint Louis is
1-4-6-9-10, with a total distance of 650 miles.

Picking the best decision at each stage:

Input node Output node Route Shortest distance to


Saint Louis
Stage 4 1 4 1-4 650
Stage 3 2 6 2-6 600
4 6 4-6 500
3 5 3-5 600
Stage 2 7 8 7-8 275
6 9 6-9 300
5 8 5-8 400
Stage 1 8 10 8-10 150
9 10 9-10 100
5

Common questions

Powered by AI

The shortest-route problem is solved in stages, where each stage involves evaluating routes from specific nodes to subsequent destination nodes. The problem is divided into four stages: Stage 1 involves routes directly leading to the final destination, Stage 2 considers routes leading to the nodes from Stage 1, Stage 3 evaluates routes leading to nodes from Stage 2, and Stage 4 evaluates the initial decision point considering routes from Stage 3. Each stage builds on the optimal decisions from the subsequent stage, starting from the end node .

Optimization techniques like dynamic programming can significantly enhance supply chain logistics efficiency by optimizing routes, reducing transportation costs, and minimizing lead times. By breaking down logistics challenges into stages, each stage can be optimized for cost or time, ensuring the aggregation of local optima leads to a global optimal solution. This improves overall supply chain performance by effectively managing resources, scheduling, and routing, as demonstrated in the shortest-route problem where a similar strategy is applied to plan the most cost-effective delivery routes .

Formulating dynamic programming models involves greater complexities than other optimization models, as it requires breaking problems into smaller stages, defining state variables, and establishing recursive relationships for each stage. Unlike linear programming models that use straightforward algebraic expressions and constraints, dynamic programming must carefully model how each decision affects future stages. This complexity often necessitates customized approaches for each specific problem, as there's no universal algorithmic approach .

The backward-solving approach in dynamic programming is used because it allows for the optimal solution at the final stage to be propagated back to the initial decision point, ensuring that each intermediary decision is optimal for reaching the overall best outcome. Starting from the destination ensures that every decision takes into account the best possible outcome of subsequent steps, as each decision depends on the solution of the later subproblems, providing a clear path to the optimal solution .

Dynamic programming differs from linear programming in that it does not have a standard formulation or solution approach. While linear programming uses a defined mathematical model with constraints and objective functions, dynamic programming involves breaking a problem into stages, solving each recursively by making optimal decisions at each stage. Linear programming typically uses algorithms like the Simplex method, whereas dynamic programming uses backward or forward recursion .

Dynamic programming can be applied in various real-world scenarios like finance and healthcare by modeling decisions as stages with recursive relationships. In finance, it can be used for portfolio optimization, where investment decisions are broken down into stages over time to maximize returns while managing risk. In healthcare, it can assist in resource allocation and treatment planning by optimizing sequences of care procedures to improve patient outcomes efficiently. By breaking complex decisions intro sequential parts and evaluating the impact of each, dynamic programming enables effective solution development in diverse fields .

The key benefits of dynamic programming include its ability to systematically solve complex problems by breaking them into simpler subproblems and ensuring each decision is optimal. It reduces the computational burden by avoiding redundant calculations. However, its limitations include high memory usage and difficulty in clearly defining states and recursive relationships especially in large-scale problems, which might be computationally intensive to store and retrieve intermediate results .

The main objective of dynamic programming in decision-making problems is to find a series of interrelated decisions that maximize overall effectiveness. It does this by dividing the complex problem into smaller, more manageable subproblems and finding optimal decisions at each stage, working backward from the last to the first stage. This method ensures that each decision at every stage contributes to the most effective overall solution, as demonstrated in the application to the shortest-route problem .

The optimal path in the shortest-route problem is determined by evaluating possible routes at each stage and selecting those that contribute to the shortest total distance. Dynamic programming starts at the destination and works backward, using optimal decisions from subsequent stages to inform earlier ones. In this problem, each route option is evaluated based on the shortest distance to the destination, and the route 1-4-6-9-10 with a total distance of 650 miles was selected as optimal .

Dynamic programming ensures globally optimal solutions by storing solutions of subproblems and using these solutions to solve larger problems, thus avoiding redundant calculations. It considers the future impact of each decision and backtracks to minimize or maximize a desired objective across all stages. This approach ensures that each decision optimally contributes to the final objective, demonstrated in the route optimization problem where each node's decision is informed by the optimal solutions from subsequent nodes .

You might also like