The scheduling page is the heart of OrderLink. It uses the demand from the bookings (which is the unscheduled bookings minus the previously scheduled parts without bookings). It uses the flexibility plan loaded in the previous step, and calculates a daily schedule using an allocation algorithm. We offer a variety of allocation algorithms for different situations; the goal of the allocation algorithm is to generate a daily part schedule that keeps the machines busy, produces parts according to their due dates, and prevents traffic jams and inefficiency.
Schedule Horizon: The schedule horizon can either be daily or weekly, and determines the length of the schedule that OrderLink creates. We strongly recommend daily schedules, since that provides the best flexibility, responds the best to changing order demand, and prevents too much buffering and batching. A weekly schedule is appropriate if the cycle times are very long, to the point where only a handful of cycles run any given day.
Day Starting Time: The time that the generated schedule should start and finish. For example, with a daily horizon with day string time at 7:00 AM, the generated schedule will run from 7 AM today until 7 AM tomorrow. We suggest that you use the start of first shift as the day starting time.
The day starting time is compared to the current time to determine the final schedule length. If the current time is within 30 minutes of the day starting time, we generate the next day's full 24 hour schedule. Otherwise, the schedule is only from the current time until the next day's starting time. As an example, consider a daily schedule with day starting time of 7 AM. If OrderLink is run anytime between 6:30 AM and 7:00 AM, OrderLink will generate a schedule for the upcoming day, that is a 24 hour schedule designed to run between 7:00 AM today til 7:00 AM tomorrow. Consider instead that the machines were down or some other problem occurred and OrderLink is not run until 8:30 AM. OrderLink will then only generate a schedule for 8:30 AM until 7:00 AM tomorrow, so only schedule 22.5 hours.
When OrderLink is run manually, we suggest the user run's it once at the beginning of the day just before the start of first shift. When OrderLink is configured to run automatically via Windows Scheduled Tasks, we suggest OrderLink runs 15 to 20 minutes before the start of first shift, so that if an error does occur there is a window to address the error. a daily
Allocation Algorithm: The allocation algorithm allows you to select the algorithm via a combo box. See the allocation documentation for details.
Downtimes: Downtimes allow you to specify time ranges when OrderLink should not produce a schedule. For example, if you run only 5 days a week you can specify that OrderLink should not produce a schedule on the weekend. If you only run two 10 hour shifts, you can specify that OrderLink should create the schedule assuming only 20 hours of operating time. To do so, OrderLink allows you to specify two types of downtimes: weekly downtimes which recurr every week or dated downtimes which are a planned downtime for specific dates (e.g. downtime over a holiday). Downtime settings are only saved if you successfully generate a schedule. You don't need to actually download the schedule, but you must click the "Create Schedule" button since that is what saves the schedule settings.
To create a weekly downtime, click the "Add Weekly Downtime" button. This will prompt you for the starting day of the week and starting time and ending day of the week and ending time. For example, if you only run 5 days a week, you could enter Saturday 7AM as the start of the downtime (the end of Friday's 3rd shift) and then enter Monday 7AM as the end of the downtime (the start of Monday's 1st shift). You can add multiple weekly downtimes, so for example if you are down from 1AM to 7AM every day, you can enter 7 weekly downtimes each starting at 1AM and ending at 7AM.
To create a downtime for specific dates, click the "Add Dated Downtime" button. This will prompt you for the starting date and time and the ending date and time. Once the downtime has passed, you can delete the old dated downtimes as they are no longer needed.
When OrderLink generates a schedule, it will check the weekly and downtimes. If the entire planning horizon is configured as down, then OrderLink will not generate a schedule. If only part of the planning horizon is marked as down, then OrderLink will shorten the planning horizon. For example, if you enter a downtime from 1AM to 7AM, use 7AM as the day starting time, and run OrderLink at 6:45 AM, OrderLink will initially create a planning horizon from 7AM today until 7AM tomorrow. Without downtimes, OrderLink would then use 24 hours to simulate and calculate the jobs to run. With the downtime from 1AM to 7AM, OrderLink will instead use 18 hours to calculate the jobs to simulate, likely resulting in lower part quantities. For this reason, if you allow the system to run unattended, you might not want to enter the full downtime range into OrderLink. For example, you might enter the downtime as 2AM to 7AM so that there is an extra hour of work. Once the operators leave at 1AM, the system can continue to produce parts unattended for an hour. The weekly downtime can be tweaked over time to optimize the use of unattended operation if required.
Mark bookings scheduled in due date order. Once OrderLink creates a part schedule, it must decide which bookings can be marked scheduled. If this is checked, then the bookings are separated by part type and then sorted by due date. A booking with a later due date won't be marked as scheduled before one with a sooner due date (with matching part type). As an example, consider the following:
- A booking
part1with quantity 50 and due date November 11.
- A booking
part1with quantity 25 and due date November 20.
Consider that the allocation algorithm decided to produce 25
part1parts. With those 25 parts, we could mark
98765as scheduled and it will be marked as scheduled if the setting is unchecked. If instead the setting is checked so bookings are filled in due date order, OrderLink is not allowed to mark
98765as scheduled before
12345since it has a later due date. In this situation, neither booking will be marked as scheduled and instead 25
part1parts will go into the scheduled parts without bookings. Tomorrow, OrderLink will load the bookings
98765plus the 25 parts scheduled without bookings. Once a total of 50 parts have been scheduled OrderLink can mark
12345as scheduled, adjusting the scheduled parts without bookings as needed. (Bookings for a different part won't effect this; each part type is treated separately.)
On the one hand, since bookings and workorders are separated, it doesn't really matter which booking is marked as scheduled. The accumulation of bookings represent the total part demand for the system, and in either case a total of 75 parts will eventually be scheduled. By leaving the setting unchecked, the scheduled parts without bookings is kept smaller and perhaps less parts will accumulate at the outbound waiting to be sent off in a full workorder. As discussed in the whitepaper, just because
98765is marked as scheduled doesn't mean the parts have to be filled into the
On the other hand, by only marking bookings as scheduled in due date order, the due dates might be more accurate. For example, if
98765is marked as scheduled, there is still this demand for 50 parts due November 11 that future runs of OrderLink will take into account. Perhaps there are bookings for other parts with due dates around November 15. By marking
98765as scheduled, we essentially will schedule 75 parts with due date November 11, perhaps taking some capacity away from the other parts with due dates around November 15. By only filling in order of due date, we will make 50
part1parts with due date November 11 and then prioritize the orders with due date November 15th and then only after those will the
98765booking receive consideration.
- A booking
The Part Production card shows a plot of the completed part quantities on the Y-axis and simulation time on the X-axis, starting from the current time until the end of the horizon. Each point on the graph is the completion of a part. You can mouse over any point on the graph to obtain details about the quantity, time, and part name.
The Station Use card shows a Gantt chart of station use. The X-axis is simulation time, starting from the current time until the end of the simulation horzion. Each station is listed on the Y-axis. Then each time a machine runs a program or the load station is busy with a load or unload, a rectangle is plotted. In this way, you can see the gaps when the station is idle. Mousing over a rectangle shows the start and end time of the cycle.
The Order Backlog card shows a chart which helps visualize the progress on the orders. The X-axis is the due dates for all unscheduled bookings and the Y-axis is expected machine hours. For each day, we add up the expected machine hours for all unscheduled bookings with that due date. We then also add up the predected completed machine hours for the current schedule and match them against the bookings. The plot then shows the scheduled machine hours and then the remaining unscheduled machine hours for each due date. In the example screenshot above, you can see the predicted scheduled hours in blue and the unscheduled hours in red. The chart shows that today's schedule completes most of the earliest due day orders and makes some progress on future day's work.
The order backlog can be zoomed by using the mouse wheel and once zoomed can be panned by clicking and dragging with the mouse. The button "Reset Zoom" will reset the chart to view the entire range of due dates.
Once the scheduled is generated, the jobs are shown. Note that parts marked as prove-out in SeedTactic: Planning are not scheduled automatically and will not appear in the results. The schedule results displays everything about the jobs exactly as they will be copied into the cell controller. This is your last chance to review the jobs. If you want to make changes to the scheduled jobs, you can must either go back to previous steps or just restart OrderLink from the beginning. Use different bookings or bookings with different priorities and due dates, or use a different flexibility plan.