This is a simple simulation of an end portion of a refinery's production process. Three tanks are included: the refinery tank, Kilang-1, and the delivery buffer tanks, Tangki-1 and Tangki-2. Each tank has its own flow rate and capacity. Kilang-1 sends refined product to Tangki-1 and Tangki-2, where it is analyzed before delivery to customers.

A monthly delivery schedule is planned based on customer orders. The schedule specifies the product volume and expected delivery time. Delivery can be made from either Tangki-1 or Tangki-2, whichever tank has analyzed stock ready for shipment. The delivery schedule is input in the box to the right. "d16 h1 m0 v3400" represents an expected delivery of 3400 units on the 16th at 1:00 AM. The simulation determines the schedule's feasibility based on the delivery outcome and, if feasible, displays predicted events in graphs and a table.

The constraints are as follows:

  1. Kilang-1 continuously delivers product to Tangki-1 and Tangki-2, one at a time, stopping only when neither tank can receive more product.
  2. A buffer tank can only receive product if it is not undergoing analysis, not delivering product, and not full.
  3. A 10-hour analysis window is required for each buffer tank before delivery.
  4. Deliveries must use only one buffer tank. If an order exceeds the tank's capacity, the delivery schedule must be split.
  5. All flow events (between tanks and during deliveries) require time to complete, based on the flow rate.
  6. Kilang-1 has flow rate of 50 units per hour, while Tangki-1 and Tangki-2 have flow rates of 260 units per hour.
  7. Tangki-1 has a capacity of 6000 units, while Tangki-2 has a capacity of 9000 units.

The computational error is expected to be around +/- 10 units. The app will attempt to reset the schedule to its default values if any input constraints are violated. Reload the page to reset to the default schedule.