Problem definition:

Given your balance, pick a subset of upgrades such that summation of Power, Traction and Aerodynamics are maximized and summation of costs doesn’t exceed balance. Problem can be found on this page: http://apps.facebook.com/motorcycle_madness/upgrade.php

Solution:

We will use linear programming method. Let’s use an example here. For the initial problem:

Balance: $73,845

Upgrades available:

Suspension
Traction: +30
Aerodynamics: +50
Cost: $30,000

Sport Stabilizer
Traction: +50
Cost: $25,000

Transmissions
Power: +20
Traction: +30
Cost: $35,000

Jet Kit
Power: +50
Cost: $40,000

Nitrous Kit
Power: +100
Cost: $80,000

Tires
Traction: +30
Cost: $18,000

Throttle Body
Power: +25
Cost: $17,500

Brakes
Traction: +20
Cost: $12,000

Stealth Radiator Cover
Aerodynamics: +50
Cost: $10,000

Exhaust
Power: +30
Cost: $20,000

Air Filters
Power: +20
Cost: $15,000

Steps:

  1. Assign a variable for each upgrade and find cumulative gain for each. Cumulative gain is addition of gains in each category (Power, Traction and Aerodynamics).
    (gain x1000)

    variable upgrade gain
    a Suspension 80
    b Sport Stabilizer 50
    c Transmissions 50
    d Jet Kit 50
    e Nitrous Kit 100
    f Tires 30
    g Throttle Body 25
    h Brakes 20
    i Stealth Radiator Cover 50
    j Exhaust 30
    k Air Filters 20
  2. Write down objective function as summation of each upgrade multiplied by its gain.
    p = 80a+50b+50c+50d+100e+30f+25g+20h+50i+30j+20k
  3. Write down balance constraint as summation of each upgrade multiplied by its cost.
    30a+25b+35c+40d+80e+18f+17.5g+12h+10i+20j+15k <= 73
  4. Write down supply constraints. Only one upgrade is available for each of them.
    a <= 1, b <= 1, c <= 1, d <= 1, e <= 1, f <= 1, g <= 1, h <= 1, i <= 1, j <= 1, k <= 1
  5. Go to an online linear programming solver site, ex. http://www.zweigmedia.com/RealWorld/simplex.html
  6. Type your problem into problem box.
    Maximize p = 80a+50b+50c+50d+100e+30f+25g+20h+50i+30j+20k subject to
    30a+25b+35c+40d+80e+18f+17.5g+12h+10i+20j+15k <= 73
    a <= 1
    b <= 1
    c <= 1
    d <= 1
    e <= 1
    f <= 1
    g <= 1
    h <= 1
    i <= 1
    j <= 1
    k <= 1
  7. Click “Solve”. Optimal solution appears below.
    p = 193.333; a = 1, b = 1, c = 0, d = 0, e = 0, f = 0.444444, g = 0, h = 0, i = 1, j = 0, k = 0
    That is, you should buy upgrades a (Suspension),b (Sport Stabilizer) and i (Stealth Radiator Cover).
    f (0.444444) is smaller than 1, so there is not enough balance left after buying a,b and i and it will not be bought.

That’s all. Good luck.


One Comment to “Solving the Motorcycle Madness Upgrade Problem”  

  1. 1 Dmitry

    Ha! Nice use of mathematics 🙂

Leave a Reply