Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы по СА и ИО1.doc
Скачиваний:
14
Добавлен:
01.03.2025
Размер:
6.8 Mб
Скачать

31. Постановка задач стохастического программирования

Ω

CT(w), A(w), B(w) – случайные вектора, не можем их знать заранее.

Существует две постановки задач стохастического программирования: “жёсткая” постановка, “нежёсткая” постановка.

“жёсткая” постановка наиболее часто используется при решение задач стохастического программирования. Требования таковы, что при любых состояниях среды недопустимо нарушение условий. Её цель – это обеспечение не нарушения условий при любых ситуациях. Часто не даёт решения, так как тогда допустимое множество задачи оказывается пустым. Если для A(w) есть ограничения сверху, а на B(w) – снизу:

Если эти условия выполняются, то существует перманентное решение.

К коэффициентам же критерия существует два подхода:

1) . Коэффициенты в критерии берутся как их математические ожидания.

2) .

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

Цель – найти такое X, при котором при любом условия не нарушаются.

При “нежёсткой” постановке осуществляется вероятностный подход: в соответствие условиям ставятся вероятности.

(нелинейные задачи сепарабельного типа)

, где является вероятностью выполнения данного условия.

Отсюда можно перейти к следующему виду условий:

Из чего следует:

Теперь запишем условия на основании всего выше изложенного:

, где и математические ожидания соответствующих коэффициентов; является дисперсией соответствующего коэффициента a; дисперсией b; находим из таблицы распределения по заданному .

Отсюда следует невязка, носящая случайный характер и на которую накладывается штраф

32. Целочисленное программирование: Особенности, концепции точных и приближенных методов решений.

Целочисленное программирование (ЦП) –на переменные накладывается требование целочисленности. Источники целочисленности:

  1. неделимость объектов, представляемых переменными (x – число рабочих);

  2. вариантность типа “да-нет” (включать или нет данный пакет);

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

  4. комбинаторность (размещение объектов, порядок обхода объектов, упорядочение);

  5. логические условия (фиксир. затраты есть только при производстве продукции).

Проблема целочисленности

Несмотря на линейность модели допустимое множество целочисленной задачи не является выпуклым. Так, в полностью целочисленной задаче оно представляет собой множество отдельных точек, имеющих целочисленные координаты. Методы ЛП базируются на выпуклости допустимого множества и поэтому непосредственно не могут быть применимы к целочисленным задачам. Можно пренебречь требованием целочисленности и использовать один из методов ЛП, но тогда, результат не будет целочисленным. Округление дробных значений переменных проблематично - может привести к недопустимости. При двух дробных переменных имеется 4, а при n переменных 2n вариантов округления. Какие из них дают допустимые решения, можно определить только после проверки всех ограничений. При этом следует иметь в виду, что, во-первых, целочисленная задача может оказаться неразрешимой несмотря на разрешимость непрерывной задачи; во-вторых, допустимость округленного решения еще не означает его оптимальность. Пример: задача о садовнике. По расчетам садовника требуется внести в почву удобрения в количестве 107 кг. Удобрения продаются только в расфасованном виде: 1) мешок 35 кг 140 руб.; 2) мешок 24 кг 120 руб. Необходимо определить вариант закупки удобрений с минимальными затратами.

Модель задачи: L=140x1+120x2min; 35x1+24x2 107; x1, x2 0, int (целые).

Если пренебречь целочисленностью, то легко увидеть, что оптимальным будет решение

x1

x2

L

3

0

-

4

0

560

3

1

540

2

2

520

1

3

500

0

4

-

0

5

600

x1= 3 , x2=0. Если округлить его по правилам арифметики, то получим недопустимое решение. Округление в большую сторону (x1=4, x2=0) приводит к допустимости, но является ли такое решение оптимальным? Чтобы ответить на этот вопрос, рассмотрим все возможные целочисленные решения. Прочерк в графе критерия означает недопустимость. Как видно из таблицы, оптимальным является решение x1*=1, x2*=3, которое принципиально отличается от непрерывного. Округленное допустимое решение оказалось далеким от оптимального: затраты в нем выше минимальных на 12%. Пример 2: Другая особенность свойств ЦЗ:

x1

x2

L

1

1

32

0

0

0

0

1

11

1

0

21

0

2

22

1

2

-

2

2

-

2

1

-

2

0

-

0

3

33

L=21x1+11x2max; 7x1+4x2 13; x1, x2 0, int.

Р ассмотрим все возможные целочисленные решения. При этом сначала возьмем решение x1=1, x2=1 и решения, окружающие его. Целочисленные точки и ограничение показаны на рис. Из таблицы следует, что в точке (1, 1) имеет место локальный экстремум, а глобальный максимум достигается в точке (0, 3). В непрерывной линейной задаче любой локальный экстремум является глобальным. То что ЦЗ может иметь локальные экстремумы, необходимо учитывать при использовании методов частичного перебора.

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

При особых свойствах ЦЗ (все вершины допустимого множества целочисленные) решение ее как непрерывной всегда дает целочисленный результат. Многогранное множество, обладающее этим свойством, - целочисленное. Условия, при которых множество оказывается целочисленным. Возьмем многогранное множество M(B):

;(1) где aij – фиксированные int числа, B =(b1,b2,…, bm)Т и m<n (ранг матрицы [aij] равен m.) Для него справедлива следующая теорема.

Теорема. Для того чтобы все вершины многогранного множества M(B) при любом целочисленном векторе B были целочисленными, необходимо и достаточно, чтобы каждый минор порядка m матрицы условий [aij] был равен либо 0, либо +1 или –1.

Если вместо равенств (1) множество задается неравенствами, указанные в теореме значения относятся ко всем минорам матрицы [aij]. Класс задач, удовлетворяющих теореме, очень узок (транспортные задачи, о назначениях и др.) – легкоразрешимые задачи (по Дж. Эдмондсу), для них существуют полиномиальные алгоритмы (время или число итераций растет полиномиально с увеличением размерности задачи). Остальные целочисленные задачи входят в класс трудноразрешимых задач (класс NP по Карпу и Куку). Для решения таких задач применяются различные подходы. Из точных методов можно назвать следующие: методы отсечений; метод ветвей и границ; метод построения последовательности планов; модификации динамического программирования; методы последовательного анализа вариантов. Последние 4 метода входят в группу комбинаторных методов. Кроме точных методов имеется также большое число приближенных методов.