in reply to Re: Tricky chemicals optimization problem
in thread Tricky chemicals optimization problem

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!
  • Comment on Re^2: Tricky chemicals optimization problem

Replies are listed 'Best First'.
Re^3: Tricky chemicals optimization problem
by BrowserUk (Patriarch) on Jan 10, 2017 at 10:35 UTC

    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.

        Hi Anonymous,

        I actually had to do a diff of your two replies to figure out if there are differences, and it appears that there are, but only in the last paragraph in a few words. I'll consider the other node for reaping, but I'd strongly recommend you register an account so that you can edit nodes. (Update: That would have been useful in the case of this node as well.)

        Regards,
        -- Hauke D

        Okay. A simple 2 field sort shows us that each machine has multiple chemicals and multiple nozzles for some of those chemicals. And multiple machines are serving the same chemical:

        C55 E1 539.85 C55 E1 9458.172 C56 E1 548.7 C56 E1 6869.724 C59 E1 2208.96 C59 E1 3185.8584 C59 E1 847.6884 C59 E1 6949.02 C60 E1 6731.8056 C61 E1 3811.5888 C61 E1 1546.272 C62 E1 13215.2448 C62 E1 543.39 C63 E1 10392.8736 ... C55 E5 1619.55 C55 E5 1619.55 C56 E5 4301.808 C59 E5 6096.7296 C59 E5 1104.48 C59 E5 0 C59 E5 11652.972 C60 E5 8658.2028 C60 E5 529.23 C61 E5 5961.1476 C61 E5 6980.3136 C62 E5 9672.342 C62 E5 1086.78 C63 E5 506.4324 C64 E5 42.0552 ...
        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.

        What you haven't supplied:

        1. The capacity of each nozzle?

          Can we assume they are all the same? Or at least all the same for a given machine?

          Is the flow rate for a nozzle the same for all chemicals or does it vary by chemical?

        2. The maximum capacity of the machines?

          Again, are all the machines the same or do we need difference maximum capacities per machine?

        My first pass intuition is that the Greedy approximation method would get pretty close to an optimal solution, and would be pretty fast.

        It would certainly serve as a starting point from which you might run a Genetic Algorithm for a few hours or days to see if it can find much by way of further savings.


        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.