I have a collection of different scrap aluminium alloys. I want to mix them together to make new alloys with customer-defined compositions.
Sometimes this will involve little more than melting down several tonnes of scrap aluminium cans to make ingots, which are then sold to manufacturers of aluminium cans so that they can make more aluminium cans.
Sometimes the required product will be very different to any of the relatively cheap scrap metal. This will require mixing different scrap metals with relatively expensive additions (known in the trade as "master alloys").
Here's the problem.
I schedule production in the order A, B, C, D and apply the simplex algorithm to each product using Excel solver. The first time I do this, there will be a certain number of tonnes of each type of scrap. The algorithm will calculate the cheapest mixture of scrap and master alloys to make product A.
However, when I do the same for product B, I have to deduct the quantities of scrap and master alloys used whilst making product A (I can't use the same material twice!). I clearly have to do the same when I make product C, then product D.
In other words, my material constraints change each time I make a product. And the sequence of material constraints will be different for each production sequence. The sequence A, B,C, D will give a different order of material constraints to the order D, C, B, A.
I assume that I can find the cheapest total cost simply by aggregating the whole day's production into one huge block of metal and running Excel solver on that. However, that doesn't tell me how to achieve that minimum cost in a real production schedule.
I have N products to make in any given day. Is there a way of finding the globally cheapest production schedule order without trying out all N! permuatations?