Optimize Rules

Key Concepts

The Optimize Rules are used to define the scheduling preferences used by PlanetTogether's optimization engine to allocate resources and materials. They are used in conjunction with the release rules during schedule generation to determine the best sequence of operations. 

Optimize rules are prioritized according to a system of relative weights which are set using slider bars in the Optimize Rule dialog. A higher weight makes a specific rule more important while a lower weight makes a rule less important. These weights are relative to each other - assigning two rules with the same higher weight is no different from assigning two rules the same lower weights. If only one weight is used, then this value does not affect the results of the optimization because all operations have their scores multiplied by the same scaling factor, resulting in the same relative score. 

The optimize rules need to be assigned to the appropriate resources. For each resource, there can be a "Normal" optimize rule and an "Experimental" optimize rules. In the Optimize Options screen, the planner can choose which of the two rules to use when optimizing. In addition, the entire plant can be set to use a single specified rule for simplicity. 

Many rules are included in PlanetTogether's standard library. In addition, custom rules can be created to provide increased scheduling flexibility. 

The Optimize Rule dialog can be accessed by right-clicking on a resource at the left of the Gantt and selecting "Optimize Rule" from the menu. In addition, it can be accessed by going to: Settings | Scenario Data | Optimize Rules and then double-clicking on a rule in the list or clicking on the Open button. 

Optimize Rules Options

The top section of the Optimize Rules window summarizes the details of all optimize weights that have been set to non-zero values.

  • Current Rule Weightings: Shows the weights of all the rules that have values greater than zero. This makes it easier to see which rules are in effect. 

Optimize Weights

Operation vs Resource Tab

  • Operation vs Resource Selection: Specifies the preference between favoring scheduling decisions based on either (a) the best sequence in which to run operations, or (b) the best resource to run an operation.

Note: This slider is not a weight. Instead, it impacts the other weights based on how well an operation would schedule on other eligible resources. A setting of 0 will have no impact on the other weights. 

 

Delivery Tab

  • Earliest Job Need Date: Prioritizes activities where the job need date is closest to the current date. Multiplied by the days between now and the job need date. Lower values are chosen earlier.
  • Earliest M.O. Need Date: Prioritizes jobs where the manufacturing order's need date is closest to the current date. Multiplied by the days between now and the operation need date. Lower values are chosen earlier.
  • Earliest Op Need Date: Prioritizes jobs where the operation's need date is closest to the current date. Multiplied by the days between now and the operation need date. Lower values are chosen earlier.
  • Earliest JIT Start Date: The JIT start is calculated by PlanetTogether and prioritizes jobs where the JIT start date is closest to the current date. Multiplied by the days between now and the activity JIT start date. Lower values are chosen earlier.

Note: Each time Optimize is performed, the JIT start date is recalculated based on the resources the activities are scheduled on and the actual setup times determined. Since the JIT start date can change, subsequent optimizations may yield different schedules each time. A new option was added to disable the recalculation of the JIT start dates. 

  • Earliest Job Entry Date: Prioritizes activities based on when they were entered into the PlanetTogether system. Multiplied by the days between now and the job entry date. Lower values are chosen earlier.
  • Activity Almost Late: Prioritizes jobs that have their scheduled end of production past their need date plus the almost late threshold set in the system options. Activities that are almost late are prioritized during optimization. 
  • Activity Late: Prioritizes activities that have their scheduled end of production past their need dates. Activities scheduled to end later than their need dates are prioritized. 
  • Days On Hand: This optimize rule takes into account the days on hand inventory, which represents how long the optimize should attempt to keep available inventory to meet the demand. This rule prioritizes jobs producing inventory that does not have enough material over products that have enough on hand. Lower on hand values are chosen earlier. 

Productivity Tab

  • Highest Throughput per Drum Hour: Prioritizes jobs scheduled on Drum resources that have the highest throughput while consuming less time on critical drum resources. Divides the throughput of the job by the hours of drum capacity to be used. Higher values are chosen earlier. 
  • Highest Buffer Penetration Percent: Prioritizes operations with a higher simulated buffer penetration %. This considers drum, shipping, and stock buffers depending on the operation buffer's type. Multiplied by the simulation buffer penetration %. Higher values are chosen earlier. 
  • Least Drum Hours: Prioritizes jobs that consume the least amount of drum hours. Lower values are chosen earlier. 
  • Least Setup Hours: Arranges the activities in the schedule to minimize the setup time as much as possible. Multiplied by activity setup hours. Lower values are chosen earlier.
  • Group By Customer: This rule groups together activities that are for the same customer. Added to the balance composite sum if the customer field of the current activity and this activity are equal. Otherwise, it is ignored. Higher values are chosen earlier.
  • Critical Ratio: Prioritizes activities that have less slack time remaining relative to their processing time (i.e. activities that need to be finished soon and take a long time to run). Lower values are chosen earlier.
  • Group by Setup Code: Activities are grouped together based on the setup code of each operation. Added to the balance composite sum if the setup code of the current activity and this activity are equal. Otherwise, it is ignored. Higher values are chosen earlier.
  • Least Run Hours: Prioritizes the activities with the shortest run hours. Multiplied by the activity run hours. Lower values are chosen earlier.
  • Nearest Higher Setup Nbr: This will schedule the next activity to have the nearest, higher setup number to the previous scheduled activity. Favors selection of operations that have a setup number higher than and nearer to the current operation. 
  • Nearest Setup Nbr: Prioritizes any activity that has a setup number closest to the previous activity's setup number, whether higher or lower. Multiplied by the absolute difference between the current operation's setup number and the setup number of the evaluated operation. Lower values are chosen earlier.
  • Nearest Lower Setup Nbr: This will schedule the next activity to have the nearest, lower setup number to the previous scheduled activity. Favors selection of operations that have a setup number lower than and nearer to the current operation. 
  • Lowest Priority Nbr: Prioritizes jobs that have been marked with lower priority numbers. Multiplied by job priority. Lower values are chosen earlier. 
  • Hot: Prioritizes jobs that have been flagged as hot. Added to the balanced composite sum if the job is hot. Otherwise it is ignored. Higher values are chosen earlier.
  • Firm: Prioritizes firm jobs over jobs with planned or estimate commitments. Added to the balanced composite sum if the job is firm. Otherwise it is ignored. Higher values are chosen earlier. 
  • M.O. In-Process: Prioritizes activities based on whether or not their parent manufacturing order's have already been started. This weight uses the in-process status of a manufacturing order to determine the next activity to schedule. Higher values are chosen earlier.

Note: This optimize rule can be used to reduce work-in-process inventory by attempting to finish manufacturing orders that have already been started instead of starting a new one. In addition to using the current in-process state of the manufacturing orders, PlanetTogether also uses the future simulated in-process state to group operations for the same manufacturing order closer together. 

  • Most Days in Queue: Prioritizes activities which have been in the queue for the most days. Multiplied by the days between now and the operation's latest constraint date. Lower values are chosen earlier.
  • Fewest Eligible Resources: Prioritizes activities that have the fewest resources that are eligible to run them. Multiplied by the number of eligible resources for the primary resource requirements. Lower values are chosen earlier. 
  • Nearest Saw-tooth Setup Nbr: Used when a resource is constantly changing its setup number and is dependent on the direction of the previous activities. For example, if the first two operations had a setup number of one (1) and two (2) respectively, this optimize rule will schedule the next largest setup number. If the first two operations had setup numbers f to (2) and one (1), this optimize rule would schedule the next smallest setup number. Favors the selection of operations that have a setup number closest to the current operation's setup number and moving in the current direction, increasing or decreasing setup numbers. 
  • Group by M.O. Product Name: Groups together activities based on the manufacturing order product name. Added to the balance composite sum if the MO product name of the current activity and this activity are equal. Otherwise it is ignored. Higher values are chosen earlier.
  • Group by M.O. Product Description: Groups together activities based on the manufacturing order product description. Added to the balance composite sum if the MO product description of the current activity and this activity are equal. Otherwise it is ignored. Higher values are chosen earlier. 

Financial Tab

  • Highest Margin / Throughput: Prioritizes jobs with the highest throughput. Higher values of throughput are chosen earlier. 
  • Highest Profit: Prioritizes jobs that will yield the highest profit (Revenue - Cost). Multiplied by the job profit. Higher values are chosen earlier.
  • Highest Revenue: Prioritizes jobs that yield the highest revenue. Multiplied by the job revenue. Higher values are chosen earlier.
  • Lowest Setup Cost: Prioritizes jobs with the lowest setup cost. Multiplied by the job setup cost. Lower values are chosen earlier.
  • Lowest Inventory Carrying Cost: Prioritizes jobs with the lowest inventory carrying cost. Lower inventory carrying cost values are chosen earlier.
  • Highest Late Penalty Cost: Prioritizes activities based on the jobs that have the greatest financial penalty for being late. Multiplied by the job late penalty cost. Higher values are chosen earlier. 

Material Grouping Tab

Material groupings allow the scheduler to give a higher weight to batch together materials with the same item name. This is often used in food and beverage manufacturing or other industries where material compatibility is a concern.

For example, using Kosher ingredients in food and beverage manufacturing requires a long clean-out interval before and after use which can be costly in terms of time. In this case, it is preferable to group together jobs that require Kosher ingredients to minimize the setup time as much as possible. 


Operation Attributes Tab: Operation attributes are customized to the users. This tab allows you to prioritize jobs with certain attributes. For example, having an operation attribute for colored items can let you prioritize white items over red so the color will not bleed into the white. 

  • Same Attribute Number: Groups and prioritizes activities based on having the same attribute number. Added to the balance composite sum if the operation attribute number of the current activity and this activity are equal. Otherwise it is ignored. Higher values are chosen earlier.
  • Same Attribute Code: Groups and prioritizes activities based on having the same attribute code (i.e. color). Added to the balance composite sum if the operation attribute code of the current activity and this activity are equal. Otherwise it is ignored. Higher values are chosen earlier.
  • Nearest Attribute Number: This option will group together activities with attribute numbers nearest to the previous activity's attribute number. Multiplied by the absolute difference between the current operation attribute number and the attribute number of the evaluated operation. Lower numbers are chosen earlier.
  • Nearest Lower Attribute Number: Prioritizes and groups together activities by scheduling the activity that has the nearest, lower attribute number to the previous activity's attribute number. Favors the selection of operations that have an attribute number lower than and nearer to the current operation.
  • Nearest Higher Attribute Number: Prioritizes and groups together activities by scheduling the activity that has the nearest, higher attribute number to the previous activity's attribute number. Favors the selection of operations that have an attribute number higher than and nearer to the current operation.
  • Sawtooth Attribute Number: Used when a resource is constantly changing its attribute number. Unlike the previous two options, this is dependent also on the direction. For example, Op1 handles a width of 3, Op2 a width of 4, and two more operations handle widths of 5 and 3 respectively. PlanetTogether will schedule the operation with a width of 5 first in order to be consistent with the increasing direction. Favors selection of operations that have an attribute number closest to the operation's attribute number and is moving in the current direction, increasing or decreasing setup numbers.
  • Lowest Attribute Number: Prioritizes activities with the lowest attribute number. Multiplied by the attribute number. Lower values are chosen first.
  • Highest Attribute Number: Prioritizes activities with the highest attribute number. Multiplied by the attribute number. Higher values are chosen first. 

Notes Tab: Write any notes to describe why the rule has been set up in the current way.

 

Related Articles

Optimization

Optimize Options

Product Rules 

Optimize API