in reply to Tricky chemicals optimization problem

and only the same flavor nozzles can be consolidated as long as the capacity of the machine allows for it on that day

Can you explain that further?

I can't decide which interpretation is correct?

This means I have the volume used per nozzle-flavor-machine combination.

I realise you've said this is an analogy, but can you adapt some of your real-world chemicals data to that analogy and give us something to play with? It doesn't need to be (shouldn't be) a huge volume of data; the key is that you should be able to also supply your desired output. That means you need to show a set of input data, and a corresponding, good (even if not optimal), set of outputs.

On first blush this sounds like a variation on the Knapsack problem which is NP-hard, but many variations of that can be "solved" economically given sufficient domain-specific knowledge and insights.

In essence, I'm saying tell us more about the problem, and give us something real to work on and test our solutions against.


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority". The enemy of (IT) success is complexity.
In the absence of evidence, opinion is indistinguishable from prejudice.
  • Comment on Re: Tricky chemicals optimization problem

Replies are listed 'Best First'.
Re^2: Tricky chemicals optimization problem
by Anonymous Monk on Jan 10, 2017 at 00:58 UTC
    Your second interpretation is the correct one. When these machines are setup they are setup with pump lines... each line can only provide one chemical, so its optimial to get as much volume of that chemical out of that particualr line. What happens in many factories is they have two or more machines setup with a line to run chemical X because some days the volume required for chemical X is high enough to justify them all. In reality though this is very rarely the case, and proving that via an optimial solution of their previous 6 months data is the point of the exercise.

    When you have mutiple machines setup with a line(nozzle) to run chemical X but you are not using them it is very costly, so again the idea would be to reduce the number of total lines by collapsing or consolidating all the lines for chemical X(,Y,Z,..n) respectively when there is volume enough available to cover demand on a fewer numebr of nozzles. You cannot colapse Y onto Z..so if we think of the backpack problem, you have 5 colors of weights and the weights can only be consolidated like legos (idk)with their own color.

    Lets say chemical X is run on 5 machines, and on Tuesday you need 100 units of chemical X. The capacity for each machine is 50units per day, thus you would want to use 2 nozzles optimized rather than 4. If the capacity were 100, then the ideal answer would be to have only one nozzle-machine running chemical X, thus when you need X the other machines stay off and you only need that one machine to be on

    I'm totally aware that my description (and understanding) is quite limmited and this is not helpful ( I'm really over my head here with a deadline otherwise Id buy a textbook and learn it the proper way). I very much appreciate you guys helping me anyways it has already been HUGELY helpful.

    As far as data goes, I cannot provide the real data but will do my best to mock up a dummmy dataset that represents similar idea and post ASAP

    Thanks again for bearing with me!

      I read and re-read your further description, but I cannot make any sense of it.

      As far as data goes, I cannot provide the real data but will do my best to mock up a dummmy dataset that represents similar idea and post ASAP

      You wouldn't need to identify exactly what the data represented, so it would be useless to a competitor.

      The problem with "mocked up" data is that unless the mocking up is done with an good understanding of the problem -- which you've identified you do not yet have -- it usually misses the subtleties of the real problem; and you end up wasting time solving the wrong problem.

      The purpose of asking for data and required output was to allow us to perhaps help you arrive at your understanding of the problem by getting many brains looking at the problem.

      One thing that I've learnt over the years -- probably above all other hard won lessons -- is that until you understand the problem you are trying to solve to the level you can adequately explain it to others, you stand very little chance of finding a good solution.

      At this point, on the basis of the information so far, I personally have literally no idea where to start, nor even what questions to ask.


      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority". The enemy of (IT) success is complexity.
      In the absence of evidence, opinion is indistinguishable from prejudice.
        Ok let me try again. here is a snap shot of one days data

        1st column is unique chemical identifier 2nd column is unique machine identifier 3rd column is processing seconds Each machine has a max processing capacity to run at 95% of the day (so 24hrs*60mins*60seconds*95%) - this is constant to simplify, and it represents 100% of capacity for each machine. The processing time of each chemical below will take up a portion or all of this capacity. On a machine each chemical requires its own nozzle, but each chemical only needs one nozzle, so if you have three nozzles for C4 on three different machines you could consolidate all three to one nozzle on one of the machines if capacity on that machine allows for it. Here is some data

        the goal is to achieve the daily required processing time ( column three) for each unique chemical on as few machines as possible. Chemicals of the same identifier (same type)can be consolidated onto one machine. Chemicals of different types cannot be consolidated onto one nozzle on one machine. If a chemical is placed on a machine, its required demand must detract from that machines overall capacity. the end goal is to hit the demand with the fewest machines. Is this a bit more clear? I've tried to take all the jargon out of it best I can.

        Ok let me try again.

        here is a snap shot of one days data


        1st column is unique chemical identifier
        2nd column is unique machine identifier
        3rd column is processing seconds

        Each machine has a max processing capacity to run at 95% of the day (so 24hrs*60mins*60seconds*95%) - this is constant to simplify, and it represents 100% of capacity for each machine. The processing time of each chemical below will take up a portion or all of this capacity. On a machine each chemical requires its own nozzle, but each chemical only needs one nozzle, so if you have three nozzles for C4 on three different machines you could consolidate all three to one nozzle on one of the machines if capacity on that machine allows for it. Here is some data

        The goal is to achieve the daily required processing time (column three) for each unique chemical on as few nozzles as possible. Chemicals of the same identifier (same type) can be consolidated onto one machine. Chemicals of different types cannot be consolidated onto one nozzle on one machine. If a chemical is placed on a machine, its required demand must detract from that machines overall capacity. the end goal is to hit the demand with the fewest nozzles first, and then fewest machines second. Is this a bit more clear? I've tried to take all the jargon out of it best I can.