линейному программированию
По разделу Линейное программирование можно выбрать одну из трёх тем:
1. Область допустимых решений;
2. Симплекс метод;
3. Двойственные задачи линейного программирования.
При работе по первой теме необходимо изложить роль неравенств при решении задач оптимизации, изучить свойства решений системы линейных неравенств и возможные варианты структуры допустимой области. Соответствующие примеры демонстрирует обучающая программа DANTZIG_1.
Важно обратить внимание на вопросы обучающей программы о том может ли допустимая область содержать только одну или только две точки и обосновать выбор вариантов допустимых областей из предлагаемых программой.
Самостоятельно необходимо привести примеры систем линейных неравенств относительно двух неизвестных и соответствующих областей допустимых решений для следующих случаев:
- допустимая область ограничена и представляет собой выпуклый многоугольник;
- допустимая область неограниченна;
- допустимая область пуста ( ограничения несовместны).
Допустимые области следует изобразить графически.
В работе целесообразно объяснить: почему допустимая область это выпуклое множество и следовательно в случае двух переменных соответствующий ей многоугольник тоже выпуклый.
При работе по второй теме необходимо уяснить геометрический смысл задачи, особую роль крайних точек ( вершин) допустимой области. Это наглядно демонстрирует обучающая программа DANTZIG_2.
Целесообразно проработать соответствующий раздел обучающей программы DANTZIG_2 и обосновать ответы на её вопросы о линиях уровня, о возможности решения задачи на неограниченной допустимой области, о локальных минимумах и бесконечном множестве решений, о внутренних точках. На каждую иллюстрацию (пример), предлагаемую обучающей программой, следует привести свою, соответствующую конкретному случаю систему ограничений и целевую функции и изобразить графически линии уровня и многоугольник (допустимую область).
После изложения основных идей симплекс – метода следует взять конкретную задачу линейного программирования, которую рассматривает обучающая программа, и решить её самостоятельно с помощью симплекс- метода. Затем сопоставить симплексные таблицы с их аналогами из обучающей программы (должно быть совпадение и таблиц и результата).
Не следует ограничиваться одной задачей и привести в отчёте по курсовой работе по крайней мере решение двух задач, обратив внимание на получение допустимого начального приближения.
Учесть, что возможна неоднозначность в выборе разреша-ющего столбца симплексной таблицы и разрешающего элемента при уже выбранном разрешающем столбце [5]. Ответить на вопрос к чему может привести эта неоднозначность?
При выборе для курсовой работы третьей темы: Двойственные задачи линейного программирования необходимо иметь в виду что задачи линейного программирования обладают особым свойством двойственности, состоящим в том, что для каждой задачи можно по определенным правилам построить другую задачу линейного программирования и, решив ее, найти экстремум исходной задачи (значение целевой функции).
Если исходная (прямая) задача записана в первой основной форме: найти
min при ограничениях: Ax = b и xi >= 0 (i = 1, …, n),
то двойственная задача имеет следующий вид:
найти max при ограничениях: ATy <= c.
Здесь m — число строк матрицы А, а АТ —транспонированная матрица А. Заметим, что здесь ограничения yi >= 0 (i = 1, …, m) отсутствуют и двойственная задача представлена во второй основной форме. Вместо min имеем max, векторы bи cпоменялись местами, уравнения стали неравенствами.
Если исходная задача имеет решение, то двойственная тоже имеет решение, и ее максимум численно равен минимуму исходной задачи. Число переменных в двойственной задаче равно числу ограничений-равенств исходной задачи, которое всегда меньше числа переменных исходной задачи. Число ограничений-неравенств двойственной задачи равно числу переменных исходной задачи, но, поскольку ограничения по знаку в двойственной задаче отсутствуют, то суммарно число ограничений в двойственной задаче меньше, чем в исходной.
Если исходная задача записана в виде: найти
min при ограничениях: Ax<= b и xi>= 0 (i = 1, …, n),
то двойственная задача имеет вид: найти max
при ограничениях: ATy >= c и yi >= 0 (i = 1, …, m).
Двойственность взаимна, т.е. полученную задачу можно рассматривать как исходную, а исходную как двойственную к ней. Если ставится цель найти экстремум целевой функции, а точка, в которой он достигается, не нужна, то переход к двойственной задаче в ряде случаев может быть оправдан.
Решив двойственную задачу, мы получаем экстремальное значение целевой функции, но не точку (значения переменных исходной задачи), в которой достигается экстремум.
В отчёте по курсовой работе следует привести конкретные примеры решения прямой и двойственной задач линейного программирования.
Кроме того, курсовая работа может быть выполнена на тему Многоэкстремальные задачи. При её выполнении следует рассмотреть методы сведения многокритериальных задач к однокритериальным, множества Парето и их применение при решении некоторых задач распределения ресурса.
Библиографический список.
1. Беллман Р. Динамическое программирование. - М: ИЛ, 1960
2. Беллман Р., Дрейфус С. Прикладные задачи динамического программирования.- М.: Наука, 1964
3. Вентцель Е.С. Исследование операций. Задачи, принципы, методология.- М.: Наука, 1980
4. Хедли Дж. Нелинейное и динамическое программирование.-М: Мир, 1967
5. Струченков В.И. Методы оптимизации. Основы теории, задачи, обучающие компьютерные программы.- М: Солон- Пресс, 2007