3. Записать алгоритм решения системы линейных уравнений методом итераций
1.
f0(X) →min (2.2)
при условиях
fi(X)≥0, i=1, …, p,
fi(X)=0, i=p+1, …, m.
В зависимости от вида функций f0(Х) и fi(X) выделяют частные случаи задачи (2.2). Если f0(X) и fi(X) - линейные функции, то имеет место задача линейного программирования. Если хотя бы одна из функций f0(X) или fi(X) нелинейна, то задача f0(X) →min
при условиях:
fi(X)≥0, i=1, …, p,
fi(X)=0, i=p+1, …, m.
есть задача нелинейного программирования. В том случае, если допустимое множество Хd конечно или счетно и не имеет предельных точек, то имеет место задача дискретного программирования. Частным случаем последней является задача целочисленного программирования, когда все допустимые точки имеют целочисленные координаты.
Возможны три случая (это отсебятина):
Первый когда поиск решение производится на заданном в условиях относительно небольшом интервале. Тогда в некоторых случаях проще подставить целые числа из этого интервала вместо х и проверять правильность равенства, чем решать уравнение аналитически.
Во втором случае, на целочисленное решение может накладывать некое ограничение – интервал, в который оно должно входить. Это может быть применено, например, когда имеются несколько решений.
В-третьих, может быть получен ряд решений, как целочисленных, так и дробных. В таком случае, они отсеиваются через целочисленную сетку, или округляются до целочисленных, если того требую условия задачи.
Под задачей целочисленного программирования (ЦП) понимается задача, в которой все или некоторые переменные должны принимать целые значения. В том случае, когда ограничения и целевая функция задачи представляют собой линейные зависимости, задачу называют целочисленной задачей линейного программирования. В противном случае, когда хотя бы одна зависимость будет нелинейной, это будет целочисленной задачей нелинейного программирования.
Особый интерес к задачам ЦП вызван тем, что во многих практических задачах необходимо находить целочисленное решение ввиду дискретности ряда значений искомых переменных. В сфере лесного комплекса к их числу относятся следующие задачи:
задачи оптимизации раскроя;
оптимальное проектирование лесных машин и оборудования;
оптимизации системы сервиса и технического обслуживания машинно-тракторного парка;
и т.д.
Как уже отмечалось, часто задачу ЦП решают без учета условий целочисленности переменных, а затем округляют полученное решение с избытком или недостатком. Это не гарантирует получение оптимального целочисленного решения задачи. Поэтому для нахождения оптимального решения целочисленных задач применяют специальные методы, в которых учитывается, что число возможных решений любой целочисленной задачи является конечным. Следовательно, можно рассмотреть все возможные сочетания целочисленных переменных и проверить, удовлетворяют ли они ограничениям, и из числа удовлетворяющих ограничениям, выбрать наилучшее с точки зрения целевой функции. Такой метод называют методом полного перебора. Его трудоемкость с ростом числа переменных и расширением области граничных условий значительно возрастает. Поэтому для реальных задач он неприменим.
На практике для решения реальных задач следует использовать методы, в котором все возможные альтернативы не рассматриваются. Наиболее распространенным является метод ветвей и границ.
Целочисленное линейное программирование - метод отсечений Гомори
Целочисленное линейное программирование (сокращенно ЦЛП) занимается задачами линейного программирования с целочисленными переменными, общая задача формулируется следующим образом: найти тах{сх|Ах ≤ b; х - целочисленный}. ЦЛП может рассматриваться так же, как поиск точки решетки, принадлежащей многограннику или как решение системы линейных уравнений с целыми неотрицательными переменными. Иными словами, в ЦЛП рассматриваются совместные ограничения -неотрицательность и целочисленность.
Отсечения
С помощью отсечений выделяют целочисленные части полиэдров. Метод отсечений был разработан в конце 1950-х годов Гомори для решения целочисленных линейных программ с помощью симплекс-метода. Метод отсечений оказался полезным и с теоретической точки зрения он дает возможность описать целочисленную оболочку полиэдра.
Далее описывается метод отсечений Гомори, дающий алгоритм решения задач целочисленного линейного программирования. Данный метод, который также носит название метода отсекающих плоскостей, предназначен для решения ЦЗЛП (целочисленной задачи линейного программирования) в канонической форме. Описываемая ниже версия алгоритма предназначена для решения полностью целочисленных задач, т.е. таких, у которых все параметры aij, cj, bi – целые.
Описание алгоритма.
Приведем обобщенную схему алгоритма Гомори. Структурно он делится на так называемые большие итерации. Каждая большая итерация содержит этапы:
1. Сначала задача решается методами линейного программирования (малые итерации), обычно симплекс-методом, и анализируется результат, если результатом являются целые числа, то на этом решение заканчивается, а если дробные, то производят следующие операции:
2. В оптимальном плане (симплекс-таблице) выбирают строку, в которой целая часть дробного(!) свободного члена (P0) принимает наибольшее значение.
3. Построение для найденной компоненты условия отсечения. Исходя из уравнения по данной строке xr=P0r - ar,1*x1 - … - ar,n*xn в систему ограничений добавляем неравенство, в котором коэффициенты будут дробными частями коэффициентов данного уравнения: {P0r} –{ ar,1}*x1 - … -{ ar,n}*xn ≤ 0. Переводим к каноническому виду добавляя новую переменную xn+1, получим: {P0r} –{ ar,1}*x1 - … - {ar,n}*xn+xn+1 = 0 И соответственно добавляем в симплекс-таблицу новый базисный вектор по новой переменной xn+1.
4. Переход на начало следующей большой итерации.
Замечание:
При добавлении в симплекс-таблицу нового базисного вектора по новой переменной xn+1 мы получаем недопустимое (отрицательное) решение. Для того, чтобы избавиться от недопустимого решения выбираем столбец замещения так, чтобы строкой замещения стала новая добавленная строка по переменной xn+1. Продолжаем пересчет симплекс-таблицы. Если снова получаем дробное решение, то еще вводим дополнительный базисный вектор, и так до получения целочисленного решения. Но следует заметить, что если область допустимых решений очень мала, то она может и не содержать целых значений, это необходимо проверить графически. Если область допустимых решений не содержит целочисленного решения, то в применении метода Гомори нет необходимости, целого решения не будет!
Метод ветвей и границ
Впервые метод ветвей и границ был предложен Лендом и Дойгом [1] в 1960 для решения общей задачи целочисленного линейного программирования. Интерес к этому методу и фактически его “второе рождение” связано с работой Литтла, Мурти, Суини и Кэрела [2], посвященной задаче комивояжера [3]. Начиная с этого момента, появилось большое число работ, посвященных методу ветвей и границ и различным его модификациям. Столь большой успех объясняется тем, что авторы первыми обратили внимание на широту возможностей метода, отметили важность использования специфики задачи и сами воспользовались спецификой задачи коммивояжера.
В основе метода ветвей и границ лежит идея последовательного разбиения множества допустимых решений на подмножества (стратегия “разделяй и властвуй”). На каждом шаге метода элементы разбиения подвергаются проверке для выяснения, содержит данное подмножество оптимальное решение или нет. Проверка осуществляется посредством вычисления оценки снизу для целевой функции на данном подмножестве. Если оценка снизу не меньше рекорда — наилучшего из найденных решений, то подмножество может быть отброшено. Проверяемое подмножество может быть отброшено еще и в том случае, когда в нем удается найти наилучшее решение. Если значение целевой функции на найденном решении меньше рекорда, то происходит смена рекорда. По окончанию работы алгоритма рекорд является результатом его работы.
Если удается отбросить все элементы разбиения, то рекорд — оптимальное решение задачи. В противном случае, из неотброшенных подмножеств выбирается наиболее перспективное (например, с наименьшим значением нижней оценки), и оно подвергается разбиению. Новые подмножества вновь подвергаются проверке и т.д.
Вычисление нижней границы является важнейшим элементом данной схемы. Для простейшей задачи размещения один из способов ее построения состоит в следующем.
Запишем исходную задачу в терминах целочисленного линейного программирования [4].
Введем следующие переменные:
С использованием введенных обозначений простейшая задача размещения записывается следующим образом
yi xij, i I, j J,
xij, yi , yi {0, 1}, iI, jJ.
Двойственная задача линейного программирования имеет вид:
vj gij + wij, iI, jJ,
wij 0, iI, jJ.
Приближенное решение двойственной задачи используется в качестве нижней оценки.
Для сокращения размерности задачи применяется так называемый блок предварительной отбраковки. Он основан на применении условий дополняющей нежесткости для задач линейного программирования
Если для оптимального решения двойственной задачи выражение в скобках положительно для некоторого iI , то “скорее всего” в исходной целочисленной задаче yi = 0, и размерность можно уменьшить. Понятно, что данный эвристический прием не всегда приводит к правильному решению. Поэтому в качестве порога лучше брать не 0, а некоторую величину d 0, выбор которой зависит от исходных данных. Эту величину называют порогом отбраковки. Очевидно, что при d max ci, размерность задачи не сокращается.
Другой способ уменьшения трудоемкости алгоритма состоит в искусственном завышении нижней оценки. Предположим, что нас интересует не только оптимальное решение, но и приближенные решения с относительной погрешностью не более e . Тогда завышение нижней оценки в (1 + e ) раз приводит к желаемому результату.
- Билет 1
- 2.Геометрические преобразования в трехмерной графике. Матрицы преобразования.
- Трехмерные аффинные преобразования
- 3. Составить электрическую схему автоматизированного рабочего места инженера на базе пэвм
- Билет 2
- Билет 3
- 2. Понятие телеобработки. Терминальная и системная телеобработка
- 1. 1 Основные положения телеобработки данных
- 1. 2 Системная телеобработка данных
- 1. 3 Сетевая телеобработка данных
- Билет 4
- 2.2. Структура и состав экспертной системы
- Структура базы знаний
- Механизм логического вывода.
- Модуль извлечения знаний.
- Система объяснения
- Билет 5
- 1. Целочисленные задачи и методы их решения.
- 2. Открытые вычислительные сетевые структуры. Эталонная модель
- 3. Записать алгоритм решения системы линейных уравнений методом итераций
- 2. Открытые вычислительные сетевые структуры. Эталонная модель
- Эталонная модель osi
- Уровень 1, физический
- Уровень 2, канальный
- Уровень 3, сетевой
- Протоколы ieee 802
- 3. Записать алгоритм решения системы линейных уравнений методом итераций
- Билет 6
- 2. Окна в компьютерной графике. Алгоритмы преобразования координат при выделении, отсечении элементов изображения.
- 3. Как определить информацию о памяти (размер озу ...)
- Билет 7
- 1. Понятие структурной организации эвм
- 2. Проекции в трехмерной графике. Их математическое описание. Камера наблюдения.
- Билет 8
- Основные подходы к разработке по. Методы программирования и структура по.
- Билет 9
- 2. Принципы построения и функционирования эвм. Принцип программного управления.
- 3. Алгоритм определения скорости передачи с нгмд на нжмд
- Билет 10
- 1. Организация диалога в сапр
- 2. Видеоконтроллеры, их стандарты для пэвм типа ibm pc.
- 3. Текстуры в машинной графике.
- 3. Текстуры в машинной графике.
- 2. Афинное
- Билет 11
- 3. Реалистичная графика. Обратная трассировка луча.
- Билет 12
- 2. Цвет в машинной графике. Аппроксимация полутонами.
- Алгоритм упорядоченного возбуждения
- 3. Представить алгоритм определения тактовой частоты цп
- Билет 13
- 1. Структурное программирование при разработке программы.
- 2. Понятие критерия оптимального проектирования и его связь с варьируемыми переменными через уравнения математической модели. Постановка задачи оптимального проектирования.
- 3. Представить алгоритм определения быстродействия нгмд в режиме записи данных.
- 2. Понятие критерия оптимального проектирования и его связь с варьируемыми переменными через уравнения математической модели. Постановка задачи оптимального проектирования.
- 3. Представить алгоритм определения быстродействия нгмд в режиме записи данных.
- Билет 14
- 3. Таблицы истинности, совершенные нормальные формы представления булевых функций
- Бинарные функции
- 2. Задачи безусловной и условной оптимизации
- 2. Классификация центральных процессоров Intel и соответствующих локальных и системных шин пэвм типа ibm pc
- 3. Реалистичная графика. Обратная трассировка луча.
- Билет 16
- Построение с использованием отношений
- Построение с использованием преобразований
- 3.Составить алгоритм поиска экстремума функции двух переменных
- Билет 17
- 1.Методы представления знаний в экспертных системах
- 2.4.2 Искусственный нейрон
- 2.Устройства автоматизированного считывания графической информации (сканеры). Конструкция и основные характеристики.
- 3. Составьте программу для определения скорости передачи информации по сети одной эвм к другой.
- Билет 18
- 1. Системно-сетевая телеобработка
- 2. Тестирование программ.
- Билет 19
- 3. Графические форматы. Bmp, gif и jpeg.
- 1. Понятие алгоритма. Свойства. Способы записи.
- 2. Построение реалистичных изображений. Алгоритм построения теней в машинной графике.
- 3. Представить алгоритм определения быстродействия нгмд в режиме чтения данных.
- Билет №21
- 3. Приоритетные методы удаления скрытых поверхностей. Bsp – деревья.
- Билет 22
- 2.Методы проверки работоспособности объектов на этапе проектирования: "наихудшего случая" и имитационного моделирования
- 1. Метод наихудшего случая
- 2. Метод имитационного моделирования
- Билет 23
- 1. Функциональные узлы последовательностного типа: регистры, триггеры, счетчики.
- 2. Назначение, классификация математических моделей и методы их построения. Проверка адекватности математических моделей
- 3. Алгоритмы сжатия графических данных.
- Асинхронный rs – триггер.
- Синхронный rs–триггер.
- Синхронный д-триггер
- Счетный т-триггер.
- Двухступенчатые триггеры.
- Счетчики.
- Классификация счетчиков.
- Регистры
- 2. Назначение, классификация математических моделей и методы их построения. Проверка адекватности математических моделей.
- Билет 24
- 1. Математические модели процессов теплопереноса.
- 1 Вариант
- 2 Вариант-
- 2.Интерполяционные кривые в машинной графике.
- Билет 25
- 1. Трансляторы. Виды. Состав.
- 2. Технические средства диалога машинной графики (световое перо, мышь, шар, джойстик). Конструкция основные характеристики
- 3. Записать алгоритм решения нелинейного уравнения методом Ньютона.
- Билет 26
- 1. Автоматизация методов управления, вариантного, адаптивного и нового планирования в астпп.
- 2. Модели гидродинамики
- 3. Записать алгоритм поиска экстремума функции Розенброка овражным методом.
- Автоматизация метода вариантного планирования
- Автоматизация метода адаптивного планирования тпп
- Автоматизация метода нового планирования тпп
- Оптимизация проектирования сборочных процессов
- 1.Модель гидродинамики идеальной смешение:
- 3. Гидродинамические диффузионные модели.
- 4.Гидродинамическая модель ячеечного типа.
- 3. Записать алгоритм поиска экстремума функции Розенброка овражным методом.
- Билет 27
- Общая интерпретация реляционных операций
- Билет 28
- 1.Понятие языков программирования и их классификация. Жизненный цикл программы.
- 2.Реляционная модель данных. Сравнение с иерархической и сетевой моделями.
- 3.Написать алгоритм вычисления определенного интеграла методом трапеций.
- 2. Реляционная модель данных. Сравнение с иерархической и сетевой моделями.
- 3.Написать алгоритм вычисления определенного интеграла методом трапеций.
- Билет 29
- 2. Декомпозиция отношений. Первая, вторая и третья нормальные формы.
- 3. Записать алгоритм поиска экстремума функции
- Билет 30
- 2. Декомпозиция отношений. Первая, вторая и третья нормальные формы.
- 3. Написать алгоритм вычисления определенного интеграла методом трапеций.
- Билет 31
- Выбор компонентов