Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursach.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
368.13 Кб
Скачать

Московский авиационный институт (Национальный Исследовательский Университет)

Факультет №3 «Системы управления, и нформатика и электроэнергетика»

Кафедра №308 «Информационные технологии»

Курсовая работа

по курсу «Технический контроль и диагностика систем ЛА»

Вариант II (2)

Выполнила: Пахомова Вероника Юрьевна

Группа: 03-417

Проверил: доцент, к.т.н. Пискунов Вячеслав Алексеевич

Москва 2012 г.

Содержание

Постановка задачи…………………………………………..……….…………………………………………….……..………3

  1. Алгоритм метода ветвей и границ для решения одномерных задач целочисленного программирования ……………………………………………………………………………………………..………4

    1. Теоретическая часть…………………………………………..……………………………………………...4

    1. Практическая часть…………………………………………………………………………………………….8

    1. Программные расчеты и сравнение результатов………………………………….……….15

  1. Алгоритм метода динамического программирования…………………………….…….……….17

    1. Теоретическая часть…………………………………………………………………………………………17

    1. Практическая часть………………………………………………………………………………….……….22

    1. Программные расчеты и сравнение результатов……………………………………….….24

Выводы………………………………………………………………………………………….……………………………25

Список используемой литературы…………….………………………………………………………………26

Приложение 1……………………………………………………………………………………………………………………….27

Приложение 2……………………………………………………………………………………………………………………….38

Постановка задачи

Определить набор параметров контроля из десяти непересекающихся параметров для получения максимального значения выражения при ограничении двумя методами:

        • метод ветвей и границ;

        • метод динамического программирования.

Написать программы для реализации решения поставленной задачи.

Сравнить результаты при ручном расчёте и программном.

Сделать выводы.

  1. Алгоритм метода ветвей и границ для решения одномерных задач целочисленного программирования

1.1 Теоретическая часть

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

Р ассмотрим следующую задачу целочисленного программирования. Тре­буется максимизировать выражение

(1.1)

п ри ограничениях

(1.2)

xj {0;1}, j=1,…,n, (1.3)

причем pj ≥0, cj≥0.

Решение задачи может быть получено с помощью метода ветвей и границ.

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

Эффективность вычислительных алгоритмов зависит от точности и простоты способа определения верхней границы возможных решений и точности определения приближенного решения. Чем точнее способ опреде­ления верхней границы целевой функции, тем больше бесперспективных ветвей отсекается в процессе оптимизации. Однако увеличение точности расчета верхних границ связано с возрастанием объема вычислений. Напри­мер, если для оценки верхней границы использовать симплекс-метод, то результат будет достаточно точным, но потребует большого объема вы­числительной работы.

Рассмотрим алгоритм решения задачи (1.1) — (1.3) методом ветвей и границ с простым и эффективным способом оценки верхней границы целевой функции.

Множество U переменных xj рассматривается как три множества.

S -множество фиксирован­ных переменных, вошедших в допустимое решение; Es — множество за­висимых переменных, которые не могут быть включены в множество S, так как для них выполняется неравенство

GS — множество свободных переменных, из которых производится выбор для включения в S очередной переменной.

Обозначим h1j = pj/cj и допустим, что xj S (j= 1, . .., k < п), вычисляется указанное отношение и параметры номеруются (ранжируются) в соответствии с ранжировкой:

h 1,k+1h1,k+2≥ ...≥h1l, ln, (1.4)

(1.5)

(1.6)

Условия (1.5), (1.6) означают, что в множество S без нарушения нера­венства (1.2) можно дополнительно ввести элементы хк+1, хк +2,..., хl-1. При введении в множество S элементов хк+1, хк +2,..., хl неравенство (1.2) не выполняется.

Для определения верхней границы решения может быть использовано выражение:

(1.7)

где

(1.8)

(1.9)

Из условий (1.1)-(1.3) следует, что L's не меньше максимального значения величины

п ри ограничениях

Поясним процесс определения L'S графиком (рис. 1.1). Строим кусочнолинейную функцию L(с) с убывающим значением градиента h. Вычисля­ем с'1 и по графику находим L'S.

Выбор очередной переменной для включения в множество S производит­ся с помощью условия:

(1.10)

Для выбранной переменной хr определяются величины РS(xr) и РS( xr), т.е. в S включается хr = 1 или хr = 0.

Если в процессе решения окажется, что в множестве GS нет элементов, которые могут быть введены в множество S без нарушения ограничения (1.5), то полученное решение принимается в качестве первого приближенного решения L0.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]