Назад в библиотеку

К вопросу о методах расчета распределения ресурсов

Автор: Дрыкин В.А.
Источник: Дрыкин В.А. Некоторые аспекты проектирования баз данных и расчетных схем задачи распределения ресурсов

К вопросу о методах расчета распределения ресурсов

Приминительно к специфике ВГСЧ(горноспасательной службы), выбор численных методов для решения задачи распределения ресурсов(аналитических методов для этого практически не существует) осложняется отсутствием точных представлений у разработчика информационной системы о возможных требованиях к стратегиям распределения.

Дело в том, что специалисты в предметной области(т.е. собственно заказчик) часто сами не в состоянии точно сформулировать свои потребности. Эта ситуация очень точно соответствует погоровке "аппетит приходит во время еды". Причины этого объективны: новые инструменты в будущем сформируют и новые желания – но новых–то инструментов пока еще нет!

Таким образом, инфромационная система неизбежно в будущем будет наращиваться как минимум новыми схемами расчетов задач оптимизации. Но в этом случае весьма вероятна ситуация, в которой придется перепроектировать и логическия связи в базах данных, и структуру показателей их наполнения. Другими словами, объективные проектные ошибки могут вызвать в будущем весьма дорогостоящую процедуру реорганизации уже накопленных к тому моменту данных и программ их обработки.

В таких условиях желательно заранее определиться с расчетными схемами и постараться обеспечить непротиворечивость структур данных методам их обработки. На практике "заранее" – это очень жесткое условие. Простейший пример: если для распределения ресурсов по принципу "брать ближайшие" применимы классические методы линейного программирования, то для стратегий типа "пропорционально ослабить боеготовность" они принципиально не подходят ввиду нелинейности целевой функции. Основа проблемы понятна – эффективность численных методов всега базируется на спецефических свойствах класса задач которые они решают.

Требования к методам решения в таких условиях должны быть следующими:

  1. Возможность получать решение за приемлемое время и с приемлемой точностью
  2. Решение должно быть целочисленным( по специфике задачи)
  3. Возможность применения для достаточно широкого класса задач( т.е. спектра различных – в т.ч. и заранее неизвестных – стратегий распределения) на имеющихся данных
  4. Весьма желательное, но достаточно жесткое( в математическом плане) требование – позволять производить многокритериальную оптимизацию

Наиболее близким к идеалу в данном случае является такой универсальный метод, как метод полного перебора вариантов. Однако – это часто бывает – практически он непригоден ввиду значительного объема вычислений.

Выход из ситуации предлагается – в отличии от поиска существующих хорошо известных схем – в конструировании собственных численных схем расчетов:

  1. обладающих достоинствами метода полного перебора вариантов;
  2. не имебщих( условно) недостатков хорошо известных, но узкоспециализированных методов.

Сложность такой постановки проблемы можно преодолеть, воспользовавшись методологией динамического программирования для конструирования численных методов. Несмотря на статический характер исходной задачи, применение к ней методов получения характеристик динамических процессов вполне корректно( как искусственного математического приема).

Основой такого "конструктора" может послужить принцип оптимальности Беллмана. Применение данного принципа ввиду его широкой общности дает основания утверждать, что сконструированные методы будут отвечать перечисленным выше требованиям к ним.

Итак, идея выглядит следующим образом. При необходимости внедрения в будущую программную систему нового принципа отбора ресурсов( стратегии распределения):

  1. Проектируется новая целевая функция. Единственное требование – подпадание ее вида под условие матмодели принципа оптимальности Беллмана( по сути – интегральный ее характер);
  2. Расчетная схема представляет из себя последовательность "коротких оптимальных шагов", последовательно ведущих к нужному результату;
  3. Перед каждым шагом методом полного перебора небольшого количества возможных вариантов и оценки эффективности каждого из них по величине целевой функции выбирается лучший – и система переводится в новое состояние, на 1 "шаг" приблизившееся к желаемому оптимальному результату.

Такая идея позволяет в информационной системе заранее сконструировать общее расчетное ядро, основная задача которого – генерировать возможные варианты очередного шага и переводить систему шаг за шагом в нужное состояние. А в каком направлении – это ему укажет создаваемая по мере необходимости программная "надстройка" по оценке оптимальности каждого возможного варианта шага.

Предложенный путь представляется более эффективным( с проектной точки зрения), чем подбор по мере необходимости хорошо известных, но специализированных расчетных схем.