Imagine we have a wizard that knows a few spells. Each spell has 3 attributes: Damage, cool down time, and a cast time. Pretty standard RPG stuff.
Cooldown time: the amount of time (t) it takes before being able to cast that spell again. A spell goes on "cooldown" the moment it begins casting.
Cast time: the amount of time (t) it takes to use a spell. While the wizard is casting something another spell cannot be cast and it cannot be canceled.
The question is: How would you maximize damage given different sets of spells?
It is easy to calculate the highest damage per cast time. But what about in situations where it is better to wait then to get "stuck" casting a low damage spell when a much higher one is available?
Fireball: 3000 damage, 3 second cast time, 6 second cool down.
Frostbolt: 20 damage, 4 second cast time, 4 second cool down.
Fireblast: 3 damage, 3 second cast time, 3 second cool down.
In this case your damage per second is higher if you chose to go for the lower DPCT spell (fireblast) instead of the frostbolt. So we must consider consequences of choosing a spell.
In the following example are cases of "over casting" and "waiting".