Задача №1. Используя графический метод, найти решение следующей задачи линейного программирования: F ( x1, x2 ) = ax1 + x2 → min x1 + (b − 3)x2 b (c − 4 )x + x c 1 2 3 x1 + 2 x2 11 x1 0, x2 0 Значения параметров a, b, c приведены по вариантам в таблице 1. Задача № варианта а b с 13 0,67 8 8 Решение Математическая модель задачи c данными по варианту по варианту: F ( x1 , x2 ) = 0.67 x1 + x2 → min x1 + 5 x2 8 4 x + x 8 1 2 3x1 + 2 x2 11 x1 0, x2 0 (1) (2) (3) Изобразим на чертеже область допустимых решений (ОДР). Для этого строим на графике прямые, соответствующие ограничениям (1), (2), (3), прямую F = 0 <=> x2 = -0.67x1, вектор-градиент grad F(0;0), в точке (0;0), с координатами конца (0.67;1). Прямые (1), (2), (3) строим по точкам, придавая поочередно значения x1 = 0 - находим x2, и наоборот. Стрелками показываем полуплоскость, точки которой принадлежат множеству допустимых решений. (О. Д. Р). Целевая функция, при движении прямой F = 0 параллельно самой себе, в направлении вектора-антиградиента – достигает крайней точки ОДР в точке пересечения прямых (1) и (2). В точке С. Найдем координаты этой точки: -1/5x1+8/5=-3/2x1+11/2 <=>13x1=29 <=> x1=3, => x2=1; => C(3;1) Согласно алгоритму поиска минимума - это точка экстремума, а именно минимума целевой функции. x1*=3; x2*=1; Fmin = 0.67*3+1=301/100; Вывод: По алгоритму решения графическим методом: Целевая функция имеет максимум min F = 301/100 в точке C (3; 1) Ответ: min F = F(3;1) =301/100; Задача 2. Ниже приведена таблица, в которой указаны запасы ai некоторого груза у поставщиков A1, A2 , A3 , потребности b j в этом грузе потребителей B1, B2 , B3 , а также стоимости (тарифы) c11, c12 , ..., c33 перевозки единицы этого груза от каждого поставщика каждому потребителю (тариф cij означает стоимость перевозки единицы груза от поставщика Ai потребителю B j ); величины cij указаны в некоторых денежных единицах. Составьте оптимальный план перевозок - такой, чтобы все потребности были удовлетворены и при этом стоимость всех перевозок была минимальной. Вариант 13 Решение Обозначим: i - индекс строки; j - индекс столбца; m - количество поставщиков; n - количество потребителей; Xi,j - перевозка между поставщиком Ai и потребителем Bj. Транспортная задача имеет закрытый тип, так как суммарный запас груза равен суммарным потребностям. Находим опорный план по правилу минимального элемента: Введем некоторые обозначения: Ai* - излишек нераспределенного груза от поставщика Ai Bj* - недостача в поставке груза потребителю Bj Находим незанятую клетку с минимальным тарифом: (2,2). Помещаем туда меньшее из чисел A2*=90 и B2*=50 Находим незанятую клетку с минимальным тарифом: (2,3). Помещаем туда меньшее из чисел A2*=40 и B3*=170 Находим незанятую клетку с минимальным тарифом: (1,3). Помещаем туда меньшее из чисел A1*=100 и B3*=130 Находим незанятую клетку с минимальным тарифом: (3,1). Помещаем туда меньшее из чисел A3*=210 и B1*=180 Находим незанятую клетку с минимальным тарифом: (3,3). Помещаем туда меньшее из чисел A3*=30 и B3*=30 Поставщик B1 15 A1 Потребность Запасы груза B3 9 100 100 18 A2 A3 Потребитель B2 27 3 50 15 180 180 6 90 40 12 21 210 30 50 170 Целевая функция F=4620; План опорный, 5=3+3-1=5 (число заполненных клеток равно число столбцов+число строк) Решаем задачу методом потенциалов: Полагая потенциал U1=0, определяем остальные потенциалы из соотношения Ui+Vj=Ci,j(i=1..m, j=1..n), просматривая все занятые клетки. Потенциалы Ui, Vj: U1=0 V3=C1,3-U1= 9 U2=C3,2-V3= -3 U3=C3,3-V3= 12 V2=C2,2-U2= 6 V1=C3,1-U3= 3 Определяем значения оценок Si,j=Ci,j-(Ui+Vj) для всех свободных клеток S1,1 = c1,1 - (u1 + v1) = 12. S1,2 = c1,2 - (u1 + v2) = 21. S2,1 = c2,1 - (u2 + v1) = 18. S3,2 = c3,2 - (u3 + v2) = -6. . Наиболее потенциальной является клетка (3,2). Для нее оценка равна -6. Строим для нее цикл, помечая клетки цикла знаками "плюс" и "минус". Потребитель Поставщик B1 B2 B3 15 27 9 A1 100 18 3 + 6 A2 50 40 A3 15 + 12 21 Запасы груза 100 90 210 Потребность 180 180 30 50 170 Перемещаем по циклу груз величиной в 30 единиц, прибавляя эту величину к грузу в клетках со знаком "плюс" и отнимая ее от груза в клетках со знаком "минус". В результате перемещения по циклу получим новый план: Поставщик B1 15 A1 Потребность Запасы груза B3 9 100 18 A2 A3 Потребитель B2 27 3 20 70 15 180 180 6 12 21 30 50 100 90 210 170 Целевая функция F= 4440 Значение целевой функции изменилось на 180 единиц по сравнению с предыдущим этапом. Полагая потенциал U1=0, определяем остальные потенциалы из соотношения Ui+Vj=Ci,j(i=1..m, j=1..n), просматривая все занятые клетки. Потенциалы Ui, Vj: U1=0 V3=C1,3-U1= 9 U2=C3,2-V3= -3 V2=C2,2-U2= 6 U3=C2,3-V2= 6 V1=C3,1-U3= 9 Определяем значения оценок Si,j=Ci,j-(Ui+Vj) для всех свободных клеток S1,1 = c1,1 - (u1 + v1) = 6. S1,2 = c1,2 - (u1 + v2) = 21. S2,1 = c2,1 - (u2 + v1) = 12. S3,3 = c3,3 - (u3 + v3) = 6. Так как все оценки Si,j>=0, то полученный план является оптимальным. Транспортная задача решена. Вывод: Целевая функция F= 4440; Оптимальные поставки: Поставщик A1 – Потребитель B3 = 100 Поставщик A2 – Потребитель B2 = 20 Поставщик A2 – Потребитель B3 = 70 Поставщик A3 – Потребитель B1 = 180 Поставщик A3 – Потребитель B2 = 30