Целевая функция модели маршрутизации
Группа методов менеджера О2_Routing_МенеджерЦелевойФункции, описывающих целевую функцию оптимизации — то, что решатель стремится минимизировать. Менеджер доступен через свойство модели Модель.ЦелеваяФункция().
Целевая функция складывается из нескольких слагаемых, настраиваемых независимо:
- Стоимость транзитов — пропорциональна приращению ресурса на каждом переезде; задаётся методом
УстановитьКоэффициентТранзита. - Стоимость ресурса — пропорциональна суммарному расходу ресурса по всему маршруту ТС; задаётся методом
УстановитьКоэффициентРесурса. - Балансировка нагрузки — штрафует за разброс значений ресурса между транспортными средствами; задаётся методом
УстановитьКоэффициентБалансировки. - Мягкие границы ресурса — штрафы за превышение или недобор заданных порогов в конкретных точках маршрута; задаются методами
УстановитьШтрафПревышенияиУстановитьШтрафНедобора. - Фиксированная стоимость ТС — однократный штраф за использование ТС; задаётся методом
УстановитьФиксированнуюСтоимость.
Методы
| Метод | Описание |
|---|---|
| УстановитьКоэффициентТранзита | Коэффициент стоимости, пропорциональной приращению транзита |
| УстановитьКоэффициентРесурса | Коэффициент стоимости, пропорциональной значению ресурса |
| УстановитьКоэффициентБалансировки | Коэффициент штрафа за неравномерность нагрузки |
| УстановитьШтрафПревышения | Штраф за превышение мягкой верхней границы ресурса |
| УстановитьШтрафНедобора | Штраф за недобор мягкой нижней границы ресурса |
| УстановитьФиксированнуюСтоимость | Фиксированная стоимость использования ТС |
Пример
// Стоимость пропорциональна расстоянию (транзит "расстояние")
Модель.ЦелеваяФункция().УстановитьКоэффициентТранзита("расстояние");
// Дополнительно штрафуем использование каждого ТС
Модель.ЦелеваяФункция().УстановитьФиксированнуюСтоимость("ТС1", 500);