Студопедия

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

КАТЕГОРИИ:

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






Пример 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);

 





mylektsii.ru - Мои Лекции - 2015-2019 год. (0.004 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал