...
В календаре (вкладка Calendar) пользователь может указать модель использования времени для самосвалов. Для каждого отдельного самосвала предусмотрена предусмотренно вычисляемое поле «HoursHours/Unit» Unit (Часы/единицы).
...
Calculation of Truck Hours and Number of Trucks
Now that the scheduling engine knows the:
Truck
Loader
Source (Dig Block or Stockpile)
Destination (Stockpile, Crusher, Dump Block, or Point Dump)
Operation Condition (Site-specific - specified by script)
Quantity Moved
Material Type / Limiting Payload
Hours per Truck per Period
...
Вычисление часов работы и количества используемых самосвалов
Теперь, когда механизм планирования имеет информацию по таким параметрам, как:
самосвал,
погрузчик,
источник (выемочный блок или насыпь),
назначение (насыпь, дробилка, блок отвала или точечный блок),
условия эксплуатации (для конкретного объекта эксплуатации — задаются в сценарии),
количество перевозимого груза,
тип материала/ограничение полезной нагрузки,
часы на самосвал за период,
можно рассчитать количество часов работы самосвала и необходимое количество техники:
Code Block |
---|
//Pseudocode: var loader = Agent.Name; var truck = Haulage.Truck; var source = Source.FullName; var destination = Destination.FullName; var parcel = Source.Parcel; var qty = Mining.WetTonnes; var hoursInPeriod = GetFromCalendar(); var overrideLoaderRate = GetFromCalendarOrScript(loader); var material = Haulage Result.Material = GetFromHaulInfinity(parcel); var payload = Haulage Result.Truck Payload = GetFromHaulInfinity(truck); var cycleTime = Haulage Result.Times.Total = SpotAtLoader + TruckLoadTime + LoadedTravelTime + SpotAtDump + DumpTime + UnloadedTravelTime + TKPHDelay + Queue = GetCycleTimeFromHaulInfinity(loader, truck, material, payload, source, destination, overrideLoaderRate, ... other factors by script) var numTrips = Haulage Result.Number of Trips = qty / payload; var truckHours = Haulage.Truck Productive Hours = numTrips * cycleTime (in minutes) / 60; var engineFactor = GetAvailabilitiesFromCalendarWhereEngineIsOn(truck) var calendarFactor = GetAvailabilitiesFromCalendar(truck); var truckEngineHours = Haulage.Truck Engine Hours = truckHours / engineFactor; var truckCalendarHours = Haulage.Truck Calendar Hours = truckHours / calendarFactor; var numberOfTrucks = truckCalendarHours / hoursInPeriod; |
The number of trucks is based on the productive hours of the truck and the Time Usage Model Количество самосвалов рассчитывается на основе продуктивных часов и модели использования времени (TUM). Therefore, to APS each truck represents a number of hours in a period.
Info |
---|
Note that there are many equivalent methods to calculate the number of trucks. For example, dividing the number of productive truck hours by the number of available hours per period for each truck will yield the same result. |
...
Следовательно, в Production Scheduler каждый самосвал представляет собой количество часов за период.
Info |
---|
Обратите внимание, что существует множество эквивалентных методов расчета количества самосвалов. Например, деление количества продуктивных часов самосвала на количество доступных часов за период для каждого самосвала даст тот же результат. |
Note |
---|
Обратите внимание, что независимо от установленных в Haul Infinity параметров, Production Scheduler будет всегда использовать режим подбора количества самосвалов «TheoreticalNoMaximum». Это означает, что количество самосвалов, назначенное на отдельный маршрут перевозки, не является целым числом и может быть меньше единицы. Это требование алгоритма, поскольку количество самосвалов становится линейной переменной, а не целочисленной, — таким образом, время решения для одного момента составляет доли секунды, а не минуты (поскольку за прогон двухнедельного расписания обычно вычисляется более 2000 отдельных решений). |