- •ВВЕДЕНИЕ
- •1.3.1. Задача линейного программирования
- •1.3.2. Классическая транспортная задача линейного программирования
- •1.3.3. Транспортная задача по критерию времени
- •1.3.4. Задача параметрического линейного программирования
- •1.3.6. Задача нелинейного программирования
- •1.3.7. Дискретная задача математического программирования
- •1.3.8. Задача целочисленного линейного программирования
- •1.3.10. Задача коммивояжера
- •1.4.2. Задания для самостоятельной работы
- •2. ЗАДАЧА О НАЗНАЧЕНИЯХ
- •3. ЗАДАЧА О КОММИВОЯЖЕРЕ
- •4. ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
- •4.5.3. Задания для решения задачи о распределении ресурсов
- •4.6.3. Задания для решения задачи о замене оборудования
- •ЗАКЛЮЧЕНИЕ
- •БИБЛИОГРАФИЧЕСКИЙ СПИСОК
К ним можно отнести, к примеру, метод сопряженных градиентов и метод проекции градиента Розена.
1.3.6. Задача нелинейного программирования
Минимизировать нелинейную функцию
ϕ(x) =ϕ(x1,..., xn )
при нелинейных ограничениях
fi (x) = fi (x1,..., xn ) ≤0, i =1, m,
где ϕ , f1,..., fm – непрерывные скалярные функции.
Если функции ϕ(x), f1(x),..., fm (x) являются выпуклыми, то задача нелинейного программирования является задачей выпуклого программирования, и для ее решения применимы градиентные методы и классический метод решения задачи выпуклого программирования – метод возможных направлений.
Если ограничения заданы в виде равенств, то для решения задачи нелинейного программирования можно использовать метод множителей Лагранжа.
Если ограничения задачи позволяют построить штрафную функцию, сложность которой сравнима со сложностью исходной целевой функции, то можно решать задачу методами штрафных функций.
1.3.7. Дискретная задача математического программирования
Дискретная задача математического программирования (МП) формулируется так же, как и задача МП, но с включением дополнительного требования, состоящего в том, что переменные, составляющие оптимальное реше-
18
ние, должны принимать некоторые дискретные значения. Дискретность может быть произвольной, но чаще встречается два вида дискретности.
Если переменные принимают целочисленные значения, то говорят о задаче целочисленного математического программирования. Если пе-
ременные принимают альтернативные значения 0 или 1, то говорят о за-
даче альтернативного математического программирования.
Для решения задачи дискретного МП можно использовать метод ветвей и границ. Но необходимо отметить, что метод ветвей и границ эффективен лишь при решении задач, содержащих небольшое число дискретных переменных или небольшое число допустимых значений дискретных переменных.
1.3.8. Задача целочисленного линейного программирования
Задача целочисленного линейного программирования (ЦЛП) – это задача ЛП с дополнительным условием целочисленности переменных:
c1x1 +...+cn xn → min,
a11x1 +...+a1n xn =b1,
................................
am1x1 +...+amn xn =bm, xj ≥0, j =1,n,
xj − целые, j =1,k(k ≤ n).
При k = n задача является полностью целочисленной, а при k < n – частично целочисленной.
Для решения как частично, так и полностью целочисленной задачи применяются методы отсечений, к примеру метод Гомори.
19
1.3.9. Задача оназначениях
Это специальная задача альтернативного линейного программирования вида
n |
n |
i=1 j=1cij xij → min, |
|
∑ |
∑ |
n
∑xij =1, j =1,n,
i=1
n
∑xij =1, i =1,n,
j=1
xij ={0,1}, i =1,n, j =1,n.
Решение задачи о назначениях находится с помощью венгерского метода решения задачи выбора: в квадратной матрице с неотрицательными значениями необходимо выбрать в каждой строке и в каждом столбце ровно по одному элементу так, чтобы сумма этих элементов была максимальной.
1.3.10. Задача коммивояжера
Это специальная задача альтернативного линейного программирования вида
n n
∑ ∑cij xij → min, i=1 j=1
n
∑xij =1, j =1,n,
i=1
n
∑xij =1, i =1,n,
j=1
xij ≥ 0, i =1, n, j =1,n,
20
xij − целые, i =1, n, j =1,n,
ui −uj +(n −1)xij ≤ n −2, i, j = 2,n, i ≠ j,
ui , uj − произвольные переменные j =1,n, i =1,n.
Методы решения задачи коммивояжера основаны на модификациях метода ветвей и границ, использующих особые структурные свойства задачи коммивояжера. К таким методам относятся метод задания маршрутов и метод частичных циклов.
1.4.РЕКОМЕНДАЦИИ КПОСТРОЕНИЮМАТЕМАТИЧЕСКОЙМОДЕЛИ
Использование стандартных вычислительных алгоритмов требует математической записи модели. Таким образом, необходимо уметь переводить словесное описание задачи на язык математических символов.
Построение математической модели начинают с выбора параметров, совокупность числовых значений которых однозначно определяет один из вариантов процесса. При этом рекомендуется различать постоянные (известные, заданные) параметры и переменные (неизвестные, подлежащие вычислению). Следует иметь в виду, что иногда от удачного выбора постоянных и переменных параметров зависит простота математической модели и, следовательно, удобство дальнейшего ее анализа. Постоянные параметры называют внешними (они заданы извне), а переменные параметры являются внутренними (их вычисляют). В свою очередь из постоянных параметров рекомендуется выделить особые параметры, определяющие размерность как постоянных, так и переменных параметров задачи. Кроме того, одновременно с размерностью и с выбором буквенного обозначения размерности рекомендуется вводить (закреплять) буквенное обозначение индекса данной размерности.
После выбора постоянных и переменных параметров необходимо по содержательному описанию задачи составить ограничения, которым
21
эти параметры должны удовлетворять. При этом нужно следить за тем, чтобы в модели учитывались все ограничительные условия и в то же время не было ни одного лишнего или записанного в более жесткой, чем требуется условиями задачи, форме.
В заключение составляется целевая функция, которая в математической форме отражает критерий выбора лучшего варианта переменных параметров.
После построения математической модели необходимо рассмотреть возможные пути ее упрощения и выбрать подходящий вычислительный метод для решения задачи – выбора переменных параметров.
1.4.1. Пример задачи математического моделирования – задачао диете
Содержательная постановка
При имеющемся наборе продуктов известной стоимости необходимо составить дневной рацион так, чтобы обеспечить заданное содержание питательных компонентов (белков, жиров, углеводов и т. п.) при минимальной суммарной стоимости продуктов.
Построение математической модели 1. Определение размерности:
n – количество видов продуктов, j =1, n – индекс (номер) продукта;
m – количество видов питательных компонентов, i =1, m – индекс (номер) питательной компоненты.
2. Выбор постоянных параметров:
сj – стоимость единицы j-го продукта;
bi – требуемое количество i-й питательной компоненты в рационе;
aij – количество питательной компоненты i-го вида, содержащейся
вединице j-го продукта.
3.Выбор переменных параметров:
xj – количество единиц j-го продукта в рационе.
22
