Negative edge weights are important for abstract planning.
In a typical graph you might use for this, there are two specific properties that are important:
- The nodes represent possible states of a complex system that is being modeled.
- The graph is directed.
As a result, the graph is functionally a representation of a state machine.
In such a graph, each edge can then be weighted with a relative value of making the state transition that the edge represents as compared to a value of zero for maintaining the current state (though often the system being modeled will not let you maintain the current state). You can then use the resultant value of a path through the graph to compare it to other paths and decide on which sequence of steps to take.
The ‘classic’ application of this from computer science is writing a chess engine. In chess, each possible board state can be assigned a value for each of the two players indicating how advantageous it is. Once you have a way to assign those values, you can compare the difference between the current position and each possible derivative position to pick the ‘best’ move. This is, at their core, how a majority of ‘traditional’ chess engines work, though they vary in how they assign values to each position (and how many steps ahead they may look).
The same approach though can be used to plan utilization of almost any system you can model as a state machine, be it an abstract strategy game like chess, or a business plan, or even the process of assembling a car, which makes it exceedingly useful for many real-life applications.