Scheduling Logic for Asprova

2011/05/11

生産スケジューラAsprova

In the rescheduling logic, in the list generation phase, the order collection command generates the order list from the order table, and the work collection command generates the work list from the work table, both of which are stored in the parent planning parameter.

In the command execution phase, the order expansion command generates work input and output instructions to perform the required amount of expansion, and the order allocation/assignment command generates work use instructions to assign to the resource.

Planning Process

Order List or Work List Generation Phase

Generating an order list from an order table is order collection, and generating a work list from a work table is work collection, both of which are stored in the parent's planning parameters.

  1. Prepare for assignment:Collect from order table to order list
  2. Filter orders:Narrowing down the list of orders
  3. Unassign all:Unassigned work in the work list

The work constraint is set in the parent planning parameter's work constraint expression.

  1. Upload operations:Gathered from the work table into a work list
  2. Filter operations:Narrowing down the work list
  3. Unassign all:Unassigned work in the work list

The reason why the "work collection" command is not required before the order allocation/association command in the default planning parameter is that the work generated by the order expansion command is already stored in the work list in the default planning parameter, which is the parent command object, and does not need to be retrieved from the work table again.

Command execution phase

In order expansion (Explode orders), the automatic replenishment function generates manufacturing orders (MPS) as replenishment orders (children) for the shortfall in work input instructions of the order orders, referring to the manufacturing BOM to fill the order list, and replenishment orders (grandchildren) for the shortfall in work input instructions of the MPS. The order list is then used to generate work input and output instructions for the registered orders and replenishment orders stored in the order list.

And for registered orders and replenishment orders stored in the order list, a work input instruction and a work output instruction are generated.

The linkage between the two orders is between the first operation of its own orders (work input indication) and the last operation of the previous process (work output indication).

  1. Automatic replenishment by referring to a BOM and generating replenishment orders
  2. Generate work lists from order lists (work input and work output instructions)
  3. Linking between orders

In order allocation/assignment, a work order is generated by looking at the properties of the dispatching rule and resource evaluation, and work is assigned from the work list, but once it is assigned to all the candidate resources by temporary assignment, it is reassigned to the highest rated resource from the resource evaluation by actual assignment.

  1. Assign/peg orders to generate and assign work use orders from the work list

This is because there is a case in which it is necessary to reconnect orders based on the result of the allocation (if there is a "min" in stock, the allocation is shifted to the left by "min").
schedulingcommand

Meaning of de-allocation

If a work is generated by generating a work by order expansion, and then manually modifying the plan (e.g., modifying the quantity) or updating the work (adding a value to a parameter) by assigning work by order allocation and linkage, even if the work is rescheduled with the work status of "assigned," the order expansion will not be performed again. command does nothing to a job that is in the status "assigned", so it will only produce the same results as before.

Therefore, once the work is unassigned, it returns the status of the work to "unassigned" and then creates a schedule that reflects the update by order expansion and order assignment/assignment.

In other words, de-assignment is necessary not to delete the actual results entered into the operation (actual quantity, actual acquisition date, etc.), but to reassign them based on the entered results.

  1. If the work in the order list is "allocated" in order expansion, the work will not be generated, so you must unallocate it before order expansion.
  2. Order allocation and linkage generates a work use instruction and creates a work with a status of "assigned".
  3. The actual quantity and actual acquisition date are entered for the work, but the schedule does not move just by entering them.
  4. Generates a list of tasks by collecting and narrowing them down, and reverts the status of the task back to "unassigned" by de-assigning it.
  5. Order allocation and linkage will result in a schedule that reflects the actual results entered in 3.

The relationship between orders, work, tasks and instructions

In MTO (Make to Order) production, fixed orders are required as is, but the fixed orders in MTS (Make to Stock) are only for shipping, so unofficial information must be imported separately as an MRP requirement.

task

After the whole backward, reassign in the forwards

In the complex planning parameter, it is necessary to match the hierarchical structure of the child planning parameters, which are "Expand orders from the order list to create work" and "Narrow down the work list to allocate the work".

backforward

The meaning of StartOfNextDay(ME.Start of Manufacturing Date and Time,0) is "Start of 0 days after the manufacturing start date (NextDay)", that is, the start time of the manufacturing start date and time of the assigned work is returned. You can't assign it to "No = first thing in the morning of the day".

By the way, if it is StartOfNextMonth, it becomes "Start 0 months after the start of production" and it becomes the first day of the month.

Also, if you want to start first thing in the morning and you want to leave a buffer for 15 minutes of gymnastics time, you can stagger it like this: "AdvenceAlongResourceWorkingTime(ME.MainResource,StartOfNextDay(ME.StartOfNextDay,0),15M).

Then, when you reassign in the forward, you assign the work in order of the earliest start date among the work assigned in the backward.

リスケジュール

After the whole forward, only the front process is backward.

If there is a bottleneck in the production process, forward allocation causes a wait time in the front-end process, so only the front-end process is reassigned in backward.

By narrowing down the task in the front-end process and then reassigning, it is possible to avoid reassigning to the back-end process.

bottleneck