Математическое моделирование

Методическое пособие - Компьютеры, программирование

Другие методички по предмету Компьютеры, программирование

тельность случайных чисел подчиняющаяся равномерному закону распределения в интервале (0, 1). Конкретные значения случайных процессов в нужные моменты времени находят по изложенным выше правилам.

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

В процессе статистического моделирования существует необходимость в частом обращении к датчикам случайных чисел. С их помощью формируются конкретные значения случайных параметров каждой заявки, параметров обслуживания заявки каждым устройством; определяются пути продвижения заявки по тому или иному маршруту при вероятностной дисциплине маршрутизации и т. д. Имитационное моделирование систем по принципу особых состояний проводится с постоянным использованием датчиков случайных чисел для формирования всех управляющих последовательностей.

 

Контрольные вопросы

 

  1. Измеряемые характеристики ВС.
  2. Основные формулы для расчета выходных характеристик ВС.
  3. Методика построения гистограммы и ее использование для исследования ВС.
  4. Основная идея метода повторных экспериментов.
  5. Что понимается под датчиком случайных величин?
  6. Какие методы (алгоритмы, программы) генерации последовательностей случайных величин вы знаете?
  7. Примеры использования датчиков случайных чисел.

 

Литература

 

1.Альянах И.Н. Моделирование вычислительных систем, Л.: Машиностроение, 1988 г. - 223 стр.

2.Вентцель Е.С. Исследование операций: задачи, принципы, методология. М.: Наука, 1980 г. - 208 стр.

3.Зобов Б.И., Сурков А.В. Основы моделирования вычислительных систем. М.: МЛТИ, 1982 г. -32 стр.

4.Масков А.И. моделирование вычислительных систем. Пермь: ПГУ, 1982 г. - 95 стр.

 

Лекция 14. МОДЕЛИ ЛИНЕЙНОГО БУЛЕВА ПРОГРАММИРОВАНИЯ (2 часа)

 

План

1. Модели линейной дискретной оптимизации с булевыми переменными

. Преобразование задачи с дискретными переменными к задаче с булевыми переменными

. Преобразование задачи линейного булева программирования к задаче нелинейного булева программирования

 

1. Модели линейной дискретной оптимизации с булевыми переменными

 

Задача оптимизации линейной целевой функции с булевыми переменными и линейными ограничениями является одной из самых распространенных моделей дискретного программирования. Комбинаторные задачи с булевыми переменными, принимающими значения 0 или 1, встречаются при решении многих практических проблем из экономики, проектирования, управления и других областей.

Задача оптимизации (минимизации или максимизации) линейной целевой функции с булевыми переменными и линейными ограничениями в общем виде описывается с помощью одной из следующих моделей линейного булева программирования: . Модель А - для задачи минимизации

 

(1)

(2)

II. Модель В - для задачи максимизации

 

(3)

(4)

 

т.е. требуется минимизировать или максимизировать линейную целевую функцию q(x) по булевым переменным xj{0,1} при выполнении условия, задаваемого системой линейных неравенств вида (2) или (4).

Проблема отыскания решения задачи (1), (2) или (3), (4) может в принципе решаться с применением метода полного перебора, суть которого заключается в переборе всех булевых векторов заданной длины, проверке для каждого вектора выполнения линейных ограничений, вычислении значений целевой функции для допустимых векторов и выборе из них минимального или максимального значения целевой функции. Однако решение, полученное методом полного перебора, связано с большим объемом вычислений, который неосуществим при больших размерностях задачи даже на сверхпроизводительных ЭВМ. Так как каждая из n компонент независимо от других может принимать два значения 0 или 1, поэтому общее число булевых векторов длины n равно 2n.

Это величина и характеризует сложность алгоритма полного перебора. В связи с тем, что для большинства задач дискретной оптимизации полный перебор неосуществим, были разработаны различные методы неявного перебора, которые обеспечивают нахождение точного решения без пересмотра всех булевых векторов. Такими являются различные варианты метода отсечений, метода ветвей и границ, метода динамического программирования. Но опыт применения этих методов при решении реальных задач с достаточно большим числом переменных показал, что многие задачи линейного программирования с булевыми переменными еще являются нерешаемыми на ЭВМ из-за нехватки машинного времени. Следовательно, с ростом размера задачи n она становится "труднорешаемой", т.е. практически неразрешимой.

Задача (1), (2) или (3), (4) в числе многих задач комбинаторной оптимизации отнесена к классу "труднорешаемых" или, NP (nо polynomial) - полных задач. Причина заключается в том, что алгоритма, решающего поставленную задачу за время, ограниченное полиномам от "размера задачи", в настоящее время нет.

В связи с этим исследования, направленные на разработку новых эффективных или полиномиальных методов решения задач линейного программирования с булевыми переменными, являются, несомненно, актуальными.

Сначала рассмотрим широко распространенные практические задачи, описываемые моделями линейного программирования с булевыми переменными.

 

2. Преобразование задачи с дискретными переменными к задаче с булевыми переменны?/p>