Explore BrainMass

Explore BrainMass

    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.

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

    © BrainMass Inc. brainmass.com October 9, 2019, 11:11 pm ad1c9bdddf

    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.