Explore BrainMass
Share

# Dynamic Programming Algorithm to Find Minimum Cost

This content was COPIED from BrainMass.com - View the original, and get the already-completed solution here!

You are going on a long horse trip. You start on the road at mile post 0. Along the way there are n horse stations at mile posts m1 < m2 <. mn where each mi is measured from the starting point. The only places you are allowed to stop and change horses are at these stations, but you can choose which of the stations you stop at. You must stop at the final station (at distance mn), which is your destination.

Assume that at a station ti takes 2 hours to change horses and a horse takes (x ln x)/100 hours to travel x miles. Design a dynamic programming algorithm to determine a sequence of stations at which to stop so as to minimize the total hours.

Example:
Number of mile posts (not including post 0): 5
Enter mile posts: 50
250
325
680
850
The minimum time is 50.000000
Stops: 5 4 3 0.

https://brainmass.com/computer-science/java/dynamic-programming-algorithm-find-minimum-cost-248090

#### Solution Preview

This dynamic algorithm is implemented by Java. Please see the attachment.

// HorseTrip.java

import java.util.Scanner; // To get input data
import java.util.Set;
import java.util.TreeSet;
import java.util.Collections;
import java.util.Iterator;

public class HorseTrip {
private double[] miles;
private Set <Integer> stops;

public HorseTrip() {
stops = new TreeSet<Integer>();
// Get input data
Scanner scanner = new Scanner(System.in);
System.out.print("Number of mile posts (not including post 0): ");
int n = ...

#### Solution Summary

The solution designs a dynamic programming algorithm to determine a minimum cost. Attachment is by Java.

\$2.19