Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы линейного программирования. Практикум

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
11
Третий шаг — определение вектора нормали для целевой функции.
Четвертый шаг — построение линий уровня, перпендикулярных вектору
нормали и сдвинутых параллельным переносом в направлении, соответствую-
щему возрастанию (убыванию) целевой функции f.
Пятый шаг — нахождение координат точки из такой области допусти­мых решений, через которую проходит одна из построенных линий уровня и в которой f принимает оптимальное — наибольшее или наименьшее значение (если приведена задача на нахождение максимума или минимума соответственно).
Одно из самых важных свойств линии уровня целевой функции заключа­ется в том, что при параллельном переносе линии в одну сторону уровень воз­растает, а при смещении в другую, соответственно, убывает.
Задача 3. Дана задача линейного программирования с рядом ограничений в виде следующих неравенств:
1
1
1 2
1
2
2
2
1 0, 3 0,
3 9 0,
, 0.
x
x
х
х
х
х
x
x
 
 
 
Требуется найти те значения переменных х
1
и
2
х
, при которых целевая
функция
1 2
22fxх
принимает наименьшее и наибольшее значения.
Решение. Изобразим многоугольник решений АВС (рис. 1).
Построим линию уровня 2x1 – x2 – 2 = c при с = 0 — прямую 2x1 – x2 – 2 = = 0, найдя ее точки пересечения с осями координат (1; 0) и (0; −2). Возьмем за­тем большее значение с, например с = 4, и построим еще одну линию уровня 2x1 – x2 – 2 = 4 — прямую 2x1 – x2 – 6 = 0, найдя ее точки пересечения с осями координат (3; 0) и (0; −6).
Линия уровня при с = 4 расположена правее линии уровня при с = 0, да­лее параллельным переносом будем сдвигать линии уровня в направлении воз­растания целевой функции f.
Далее из всех линий уровня функции f, проходящих через многоугольник решений, выберем ту, которая соответствует максимальному значению с (на
12
рис. 1 это линия уровня при с = 4). Очевидно, что максимальное значение f до­стигается в точке С (3; 0). Вычислим:
42032)0;3(
max
f
. Минимальное
значение f достигается в угловой точке А (1; 2). Вычислим: f
min
(1;2) = 2 × 1 – 2 –
– 2 = –2.
Рис. 1
Рассмотрим несколько практических задач линейного программирования
и решим их геометрическим методом.
Задача 4. На предприятие изделий I и II видов привезли сырье S1 и S2: 120 м3 и 150 м3 соответственно. От I вида изделий предприятие получит 1 500 руб. прибыли, от II — 2 000 руб. Требуется найти количество изделий I
и II видов, которое должно изготовить предприятие, чтобы обеспечить наи­большую прибыль.
Исходные данные
Сырье
Норма расхода сырья, м3
Запас сырья,
м3
I
II
S1
0,11
0,05
120
S2
0,06
0,12
150
Прибыль на ед. изделия, руб.
1 500
2 000
1
х
-1
1
О
А (1; 2)
С
21
10хx  
21
3 9 0хx
21
30хx
3
3
2
х
В (2; 3)
-2
С = 0
1
С=4
13
Решение. Проведем анализ условия задачи и построение ее модели.
Введем переменные, обеспечивающие оптимальный вариант производ­ства: х1 и х2,
которые описывают
изделия I и II видов соответственно. Построим
модель, учитывающую ряд ограничений:
21
0,11 0,05 120хх
;
21
0,06 0,12 150хх
.
Следовательно, общая прибыль, учитывающая ряд ограничений, в том числе нормы расходов, составит 1 500х1 + 2 000х2, а значит целевая функция бу­дет иметь следующий вид:
21
1500 2000f хх
.
Требуется найти оптимальное значение целевой функции, определив кон­кретные числовые значения для пары
12
( ; )x х
. Отметим, что количество изделий
может принимать только положительные, в крайнем случае нулевые, значения, поэтому будут выполняться следующие неравенства:
1
0х
,
2
0х
.
Далее найдем оптимальное значение целевой функции
21
1500 2000f хх
,
при этом необходимо учитывать следующий ряд ограничений:
1
2
2
1 2
1
0,11 0,05 120,
0,06 0,12 150,
,0
х
х
х
х х
x


.
14
Построим область допустимых решений системы ограничений, он имеет вид многоугольника ОАВС (рис. 2).
Далее из этого множества требуется найти такую точку, координаты ко­торой (х1; х
2
), подставленные в функцию
21
1500 2000f хх
, позволяют
найти оптимальное значение целевой функции.
Зададим семейство линий уровня, для этого приравняем целевую функ­цию
21
1500 2000f хх
числовому параметру с:
21
1500 2000 схх
.
При с = 0 построим линию уровня, а именно прямую
21
1500 2000 0хх
, проходящую через точки (0; 0) и (2 000; −1 500).
Рис. 2
Определим вектор нормали к построенной прямой и далее будем строить линии уровня, параллельные первоначальной линии при с = 0 и ортогонально к вектору нормали. Сдвигать линии будем вверх параллельным переносом
1
х
1 250
О
11
10
1090
А
В
С
12
0,06 0,12 150 0x х
12
0,11 0,05 120 0x х
2 500
2 400
2
х
с =0
с = 2 838 000
15
в направлении возрастания функции, тем самым получим большие значения целевой функции, по отношению к области ОАВС это произойдет в ее крайней вершине В.
Далее найдем точку пересечения прямых (В), являющихся границами об­ласти допустимых значений данной задачи:
12
0,11 0,05 120x х
,
12
0,06 0,12 150x х
.
Решение системы уравнений позволит найти координаты точки В:
12
12
0,11 0,05 120, 0,06 0,12 150.
x х
x х

 

Координаты точки В:
12
676, 912x х
, подставив эти числовые значения
в саму целевую функцию, мы получим наибольшее значение целевой функции, которое примет вид:
283800091220006761500
.
Следовательно, 676 и 912 — это изделия I и II видов соответственно, то­гда оптимальный план производства составляет 2 838 000 руб. при условии максимальной прибыли и выгодном расходе сырья:
96,11991205,067611,0
м3,
15091212,067606,0
м3 для S1 и S2 соответственно.
Рассмотрим аналог задачи 4 с иным содержанием.
Задача 4*. Найти, сколько требуется изготовить столов и парт, чтобы
обеспечить оптимальный вариант производства.
16
Исходные данные
Сырье
Норма расхода сырья, м3
Запас сырья, м3
стол
парта
Сосна
0,11
0,05
120
Липа
0,06
0,12
150
Прибыль на ед. изделия, руб.
1500
2000
Выполним решение этой задачи в MS Excel, создадим таблицу данных (рис. 3):
- в E 5 введем «=В5*$В$8+С5*$С$8»;
- в E 6 — «=В6*$В$8+С6*$С$8»;
- в B 9 — «=В7*В8»;
- в C 9 — «=С7*С8»;
- в D 9 — «=СУММ(В9:С9)».
Рис. 3
Далее будем применять опцию MS Excel «Поиск решения», для этого
введем ссылки на ячейки, содержащие ограничения, целевую функцию и др.
Здесь также необходимо помнить, что количество столов и парт принимают по­ложительные, в крайнем случае нулевые, значения (рис. 4):
17
1) зададим целевую функцию в ячейке D9, в диапазоне (В8:С8) — ячейки
количества столов и парт;
2) учтем ограничения на запас сырья:
- Е5 — расход сосны, он не должен превосходить 120 м3;
- Е6 — расход липы, он не должен превосходить 150 м3;
3) поставим галочку: Сделать переменные без ограничений неотрица-
тельными (неотрицательные значения количества столов и парт
12
,0x х
);
4) выберем опцию Поиск решения линейных задач симплекс-методом.
Рис. 4
Далее нажмем Найти решение и получим те количества столов и парт,
при которых общая прибыть (целевая функция) максимальна. Чтобы сохранить
полученное решение, воспользуемся переключателем. Затем выполним Сохра-
нить найденное решение в открывшемся окне Результаты поиска решения.
18
В результате получим следующую таблицу (см. рис. 5). Замечание: количество изделий необходимо округлить до целых.
Рис. 5
Задача 5.
Исходные данные
Витамины
Число единиц витаминов в 1 кг корма
Необходимый
минимум
витаминов
I вид корма
II вид корма
А1
3 1 9
А2
1 2 8
А3
1 6 12
Стоимость 1 кг
корма (руб.)
40
60
19
Требуется составить оптимальный рацион питания животных. При этом стоимость должна выходить минимальной, а содержание витаминов — соот­ветствовать установленным требованиям.
Решение. Рассмотрим рацион питания животных, для этого введем пере- менные х1 и х2 кг — количество кормов I и II видов соответственно. Учтем тре-
бования к условиям рациона: (3х1 + x2) единиц витамина А1, (
12
2x х
) — А2,
(
12
6x х
) — А3 и требования к рациону питания, которые запишем в виде си-
стемы ограничений, кроме того, имеем ввиду, что переменные х1 и х
2
, выража-
ющие количество кг каждого вида корма, должны иметь положительные значе-
ния, в крайнем случае нулевые.
Составим систему неравенств с рядом ограничений:
12
12
12
3 9,
2 8,
6 12.
x х
x х
x х

 

 

Следовательно, общая стоимость рациона питания будет составлять
12
40 60x х
(руб.).
Требуется найти дневной рацион х1 и х2 с учетом следующих ограничений:
12
12
12
3 9,
2 8,
6 12.
x х
x х
x х

 

 

где целевая функция имеет вид:
1 2 1 2
( , ) 40 60f x x x х
.
Функция должна принимать наименьшее значение.
Построим многоугольник решений системы ограничений — неограни­ченную область АВСD (рис. 6). Каждая точка, принадлежащая области допу-
20
стимых значений, определяет план приобретения кормов каждого вида при вы­полнении условия потребления необходимого минимума витаминов.
Найдем из области допустимых решений такую точку (х1; х2), в которой
целевая функция
1 2 1 2
( , ) 40 60f x x x х
будет принимать оптимальное значе-
ние. Приравняем целевую функцию некоему конкретному числовому значению с:
12
40 60x хc
.
Построим линию уровня при с = 0, а именно прямую
12
40 60 0x х
,
проходящую через точки (0; 0) и (3; −2).
Определим вектор нормали к построенной прямой и далее будем строить
линии уровня, параллельные первоначальной линии при с = 0 и ортогонально к вектору нормали. Сдвигать линии будем вверх параллельным переносом до
тех пор, пока перемещаемая прямая не пересечет множество допустимых реше-
ний. Это произойдет в крайнем положении линии уровня относительно много-
1
х
4
А
В
С
12
2 8 0xx
12
3 9 0xx
8
9
с = 0
12
2
12
6 12 0x х
D
2
х
3
с = 260
Рис. 6
2
х
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]