Resource Logic Client/Server Development Services

Project - Frozen Vegetable Production Scheduling


Frozen vegetables are commonly sold in mixes, anywhere from Peas and Carrots to an Oriental Blend, which may have nine or ten ingredients. Shifting from one blend to another may requires a 'wash-down' so that all old product is expunged from the equipment before a new run is started. If one is packing carrots and then blueberries, the presence of a carrot in the blueberries might be disconcerting to the consumer.

However, if the first packing job is carrots (say into 'poly' bags) and the second one is peas and carrots, then the new production can commence immediately. If the subsequent run from that uses peas, carrots, and pearl onions, then, again, no wash-down is needed. The objective of the scheduling system is to sequence work to minimize wash-downs.

A Product consists of one to ten Ingredients, which differ in both selection and ratio. The ratio of the components isn't important for scheduling purposes.

A Product 'telescopes' into a product with a larger number of Ingredients if it's list of ingredients is a precise subset. If one if the ingredients in the smaller blend is not in the larger blend, then the smaller product is not considered a subset.

Since product mixes can range from 1 to 10 items, it is necessary to render intermediate tables that have all of the possible subset combinations. Therefore, a 10 item blend has 10 single items, 9 pairs starting with the lowest numbered item, 8 pairs starting with the next lowest item, etc. It then has 8 triplets starting with the lowest numbered item, 7 trips starting with the next lowest item, etc. This way a query can be run that shows the precise commonality of ingredients at 1 item, 2 items, 3 items, etc.

Products of the same list of ingredients form a class, a situation that occurs if there are (say) 7 items but the ratios are different. Products are grouped into classes, and then the classes are compared to see if they telescope.

Many products don't have any 'successors', meaning that any repacking operation will require a washdown afterwards. These are given a 'high number' sort sequence so that they appear at the end of the recommended packing order.

Production runs that have two stages (say a 3 item blend telescoping into a 4 item blend) are given the next lowest number, and a production run that has the most successive products is given the lowest number. Therefore, a production schedule might show the following:

1 item -> 2 item -> 4 item -> 7 item -> wash-down
2 item -> 3 item -> wash-down
7 item -> wash-down
1 item -> wash-down

The input to this system is a spreadsheet that itemizes the customer orders. Once it is imported into the SQL-Server database the repacks are grouped by product, the products are classed, the classes are telescoped, the telescoped groups are prioritized, the repacks belonging to those groups are ordered by their group membership, and the entire aggregation is exported back into spreadsheet form. This process takes less than five minutes on the system which we use, which is a dual 2 Ghz Xeon server with 1GB of main memory.

While this particular system is targeted at food packaging, there could be other industries that have similar requirements. This may be true in metals alloying, specialty chemicals, personal care products, or the fabrication of certain building materials like insulation. There may also be some corresponding problems in service businesses.