Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Пример 5.1. Решить ЗЛП






.

Далее приведен рабочий лист Maple по решению задачи с соответствующими описаниями действий.

 

 

[> restart; with(simplex): [> system_ogran_1: ={-x[1]+x[2]+3*x[3]< =2, 2*x[1]+3*x[2]-x[3]< =10}; object_function: =4*x[1]-x[2]+3*x[3]-10; Optimal_Max: =maximize(object_function, system_ogran_1, NONNEGATIVE); Optimal_Min: =minimize(object_function, system_ogran_1, NONNEGATIVE); [> cterm(system_ogran_1); /определяет свободные члены в системе ограничений/ [> display(system_ogran_1); /выводит исходную систему ограничений ЗЛП в матричной форме записи/ [> feasible(system_ogran_1, NONNEGATIVE); /Вводим в исходную систему ограничений балансовые переменные x[4], x[5], чтобы свести исходную задачу к каноническому виду/ [> equation1: =-x[1]+x[2]+3*x[3]+x[4]=2; equation2: =2*x[1]+3*x[2]-x[3]+x[5]=10; system_ogran_2: ={equation1, equation2}; /с помощью команды pivot выражаем базисные переменные/ [> pivot(system_ogran_2, x[4], [equation1]); [> pivot(system_ogran_2, x[5], [equation2]); [> Optimal_Max: =maximize(object_function, system_ogran_2, NONNEGATIVE); Optimal_Min: =minimize(object_function, system_ogran_2, NONNEGATIVE);

Пример 5.2. Решить ЗЛП (). Составить и решить для данной задачи двойственную ЗЛП. Проверить выполнимость условия основной теоремы двойственности.

.

Ниже приведен рабочий лист по решению задачи с соответствующими описаниями действий. Заметим, что в память загружается пакет Optimization для нахождения экстремума.

[> restart; with(simplex): with(Optimization): /записываем прямую ЗЛП, находим оптимальное решение, максимизируя целевую функцию/ [> system_ogran: ={2*x[1]+5*x[2]> =17, -3*x[1]+2*x[2]< =6, 3*x[1]+3*x[2]< =32, x[1]> =2, x[2]> =2}; object_function: =x[1]+3*x[2]; [> Optimal_Max: =maximize(object_function, system_ogran, NONNEGATIVE); /с помощью команды Maximize из пакета Optimization находим максимум целевой функции прямой задачи/ [> Maximize(object_function, system_ogran, assume = nonnegative); /с помощью команды dual конструируем двойственную ЗЛП, записываем соответствующие систему ограничений и целевую функцию, вычисляем оптимальное решение, минимизируя целевую функцию двойственной задачи/ [> dual(object_function, system_ogran, y); [> system_ogran_dual: ={1< =-y1-3*y3-2*y4+3*y5, 3< =-y2+2*y3-5*y4+3*y5}; object_function_dual: =-2*y1-2*y2+6*y3-17*y4+32*y5; [> Optimal_Min_dual: =minimize(object_function_dual, system_ogran_dual, NONNEGATIVE); /с помощью команды Minimize из пакета Optimization находим минимум целевой функции двойственной задачи, убеждаемся в справедливости основной теоремы двойственности/ [> Minimize(object_function_dual, system_ogran_dual, assume = nonnegative);

 







© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.