|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Поиск минимумов и максимумов аналитической функции командами minimize, maximizeГлавными из этих функций являются maximize и minimize, оптимизирующие задачу симплекс-методом. Они записываются в следующих формах: maximize(f, С) minimize(f, С) minimize(f, С, vartype) maximize(f, C, vartype) maximize(f, C, vartype, 'NewC', 'transform') minimize(f, C, vartype, 'NewC', 'transform') Здесь f — линейное выражение, С — множество или список условий, vartype — необязательно задаваемый тип переменных NONNEGATIVE или UNRESTRICTED, NewC и transform — имена переменных, которым присваиваются соответственно оптимальное описание и переменные преобразования. Ниже даны примеры применения этих функций (файл simplex): > restart:with(simplex): Warning, the protected names maximize and minimize have been redefined and unprotected > minimize(x+y, {4*x+3*y <= 5, 3*x+4*y <= 4}, NONNEGATIVE); {y=0, x=0} > minimize(x-y, {4*x+2*y <= 10, 3*x+4*y <= 16}, NONNEGATIVE, 'NC', 'vt'); {y=4, x=0} > NC;vt; > maximize(x+y, {4*x+2*y <= 10, 3*x+4*y <= 16}, NONNEGATIVE); > maximize(x+y, {3*x+2*y <= 5, 2*x+4*y <=4}); > z:= 2*x1 - x2 + 3*x3; z:= 2x1 - x2 + 3x3 > cnts1:= [x2+2*x3 <= 1, 2*x1-4*x2+6*x3 <= 3, -x1+3*x2+4*x3 <= 12]; cnts1:= [x2+2x3 ≤ 1, 2x1-4x2+6x3 ≤ 3, -x1+3x2+4x3 ≤ 12] > sol1:= maximize(z,cnts1,NONNEGATIVE); При использовании функций minimize и maximize надо не забывать, что это переопределенные функции — аналогичные по названию функции есть в ядре и они реализуют иные методы вычислений. Для возврата к исходному определению функций надо выполнить команду restart. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |