Дьяконов В.П. Maple 9.5 и 10 в математике, физике и образовании (1185901), страница 60
Текст из файла (страница 60)
Решение задач линейной алгебры, оптимизации и регрессии Она обеспечивает конструирование множества уравнений с переменными в левой части: > аегпр( (2*х+3*у<=5, 3*х~-5*у=15) ) ) ! Я.! =-5+ — у.х =--у+5» 1 5 3 3 Последняя функция — в1ап()а((12е(С) — конвертирует список уравнений (неравенств) в неравенства типа «меньше или равног< > асапсагсцхе ( (2*х+ 3*у<=5, 3*х+5" у=15] ); »2х+Зу < 5, Зх+5у < 15, — Зх-5у 5-15» 6.6. Новый пакет оптимизации Орбптиабоп в Мар)е 9.5 В систему Мар1е 9.5 был добавлен новый пакет оптимизации Ор(!пз!ха()оп, основанный на новейших существенно улучшенных алгоритмах оптимизации.
С его помощью можно решать не только задачи линейного, но и квадратичного и нелинейного программирований с повышенной степенью визуализации. 6.6.1. Доступ к пакету Орт(гп»хат»оп и его назначение Пакет оптимизации Орйгпрзайоп вызывается как обычно: > еИ3~ (Ореппааас~сп) г 11тронМРБ, 1тегасбуе, ЕРБо!уе, ИБоЬе, Мох(т(ге. Мг) итге, 1УЕРБоЬе, ОРБоЬе! Иагп1пс, Еле лаве сьапсесссгпа 'паа )>ееп тес(еИпес( Для получения справки по пакету надо исполнить команду: > пе1р(ореип~хаг~оп)( Пакет использует при вычислениях алгоритмы группы ХАО, которые считаются наиболее эффективными при реализации численных методов вычислени11, в частности реализующих алгоритмы оптимизации.
Пакет вводит 8 функций. Две из них это переопределенные функции вычисления максимума Мах)п)(ге и минимума М!и!п)(2е. Кроме того, пакет имеет 4 решателя уравнений с заданными ограничениями, реализующих следующие методы: ° (.РЯо)че — линейное программирование; ° ~ВВо)че — улучшенная реализация метода наименьших квадратов; ° ОРЯо(че — квадратичное программирование; ° )ч».РВо)че — нелинейное программирование.
Функция 1п)роПМРС обеспечивает ввод данных для оптимизашш из файла. а функций (п1егасйче позволяет работать с интерактивным Мар!е(-окном лля оптимизации. С пакетом Ор(!пйтабоп можно познакомиться по его справке. В ее разделе Ехап)р»ез есть довольно обширный документ с примерами применения пакета— дополнительными к тем, которые даются к функциям пакета в справке. Начало этого документа представлено на рис. 6.3. В нем представлены основные задачи, решаемые пакетоы Ор(»ппха(!оп — линейное, лвадратичное и нелинейное про- 419 б.б.
Новый пакет оптимизации Оргдупгяйоп в Мир!е 9.5 !В!и! ем з ! е г и з э и 3' г Ь 'Пуе Ор!1п11ха!!Ои Рас1даве Тле Орвгпаэвпп рзс1 эре ргешдег согпшапдз го Ьлд сЬс пэг паап ог п пспээп о! апш г !урез о! Ьшспопг го!эссе со агсиз Ирс. оЕггплгашь з!эзъгп1эхесгргс«дсззушЬагшсхаие1г о! агЬЬрсоЕргоисшдс!эг1гарсигараЬ!соЕзоишр рмгхег ш!сил зсзси сап Ьс Ьшлд огз !ус Ьс1! рарсз !ш а.
р гуаес апд сасЬ о!гЬс оэгугэ!Ьи~ асу рс псшЬсгз !и дзг юшрэхс«Ь с шс Ье шпэшэзпр э Ьээьоп !гс!след!о аг дп оЬ!ееп с рпгпол) гпЬ!сс! со а пнп Ьсг о!ешззиээаз Гс за шэюише еэ фез ага зле!саед ш з ер !г апу о!Ю с спали!сг, дш гишспэзс оргии сап !с и!дед!о дзе сегшпапд го Ьлд В с и аэш шш из!сад о! Вп иишш гп АЪо гесс иэг ш езсЬ сэзс ше асс ог.'у Ьэдэд э 1осауу орпша пзэс и1и!гог1пс!!Оп !о !11е Ор!ппиа!1Оп Рас1;аие ~ Ь1пеаг Ргопга!пп!1пи Ехапур!е 1 адЬ1пеаг Рго гаппуипи ехагир!е 2 пЯпаг1га!!с Ргоигаппп1пи Ехап!р!е 420 Гяава б.
Решение задач линейной алгебры, оптимизации и регрессии ° е(]соп — множество или список процедур с ограничениями типа равенств; ° орйк] — последовательность пределов; границы для всех переменных; Примеры применения этих функций представлены ниже: > Маххв1ае (ауп (х) lх); [1.,[х = 2.9384741 1867272567 10 нЦ > М1пзе1ае (х" 2+у" 2) г [О.
[х = О., у = О. Ц > Мвпун] ае (а] и (х) /х, вп1Сза1ро1пС=(х=5) ); [-0.217233628211221636 ,[х = 4.49340945792364720 Ц > махыа1хе (азп (х*у*а) ): [1.,[х =1.!6244735150962364,г = 136244735150962364,у = 1.16244735]50962364 Ц > Мвп1е1ге(2*х+3*у, (3*х-у<=9, х+у>=2), ааапве=поппечас1не); [4., [х = 2., у = О. Ц Из этих примеров видно, что результаты вычислений представляются в виде чисел с плавающей точкой с так называемой двойной точностью (правильнее было бы сказать с двойной длиной или разрядностью).
При вычислениях используются алгоритмы группы Ь]АО и решатели, описанные ниже. 6.6.3. Линейное программирование — ].РЗо]че Для решения задач линейного программирования в пакете Орбпига(юп введена функция: 1 РВо]че(оЬ] [, сопв(г, Ьб, ор(в)) Она имеет следующие параметры: ° оЬ] — алгебраическое выражений, целевая функция; ° сопв]г — множество или список линейных ограничений; ° Ь(] — последовательность вида пап)е=гапйе, задающая границы олной или многих переменных; ° ор(в — равенство или равенства в форме орбоп=ча]це, где орпоп одна из опций аввцп)е, (еав!Ы!!(у(Ыегапсе, !и(!п((еЬоцп(], !п)ба1ро!п1, йега1юп)апй или п)ах(- гп(2е, специализированных для команды [.РБо!че. Пример на решение задачи линейного программирования дан на рис.
6.4. Здесь оптимизируется целевая функция — Зх- 2у, которая линейно зависит от переменных х и у. В этом примере интересна техника графической визуализации решения. Эта функция может задаваться также в матричной форме: 1 РЯо(че(с [, 1с, Ьб, ор(в]) Здесь с вектор, задающий целевую функция, остальные параметры были определены выше.
Пример применения функции [.РБо!че в матричном виде представлен ниже: > С:= ЧЕССОХ([-1,4,-2], ОасаСурЕ=й1сае) )>1:= чессог( (2, 3, 1], оаса~уре=11оа(.) ." 6.б. Иовнй лакет олтимизации Орптпапоп в Мар!е )].5 М 4~МЙ" 0;... РЬ 1ЕЕ е 1 1 Г ~ 1 Ь ее «Е 3ЕЬ аа]: м).ЕЫр1авв):~ еед Ь е Ьее е б 1> е) "7 е1. > 0.1.у> — 0.2$]: -0.1..1, у — 0.1..1, рве «01 у 11а )):р7: ею Еа хр1 Е( Ь), 6.1.1бб]). ву Ьа)в1 е 21. 1 е 422 Глава 6 Реи(ение задач линейной алгебры„оптимизации и регрессии ~х а) ах (Х х а ох а х 1ох хе неа аах(: О<Л<орх М.* ахо ): 1Л<р<ох ): оу,хроееоХоуо*еанахх 1 = -3 х'7-7 у'7: аа: [у.— 7 1/(.уа — 7 1, СО. З.у> -О.
75]: оа охр1 Е(оЬ). 1.. 1, у -1.. 1, оое т 10): ру: ' ар 1( у -1..1, орЫоо ехЫы]еи ( 1 Ые ], ре]о ареаа<Ыа [ 1 х-у« р ' ар]о[([ [-О.],О. 5]), .у О 1Ы*е — 75. ео]оох-Ыа ) ):О[.р] у[р1. [в) х] 6.6. Новый пакет оптилтзации Орапйгааоп в Мар!е 9.5 > яьрзо1че (х~у*ехр(-х) *ехр (-у), х=О .. 6, у=с .. б, вах~взхе! г (0.135335283236612674 ,(х = 0.99999999994630706 ,у = !.000000000035!3966 Ц В оптимизируемых функциях этих примеров присутствует экспоненциальная зависимость, что и указывает на решение задачи нелинейного программирования.
Однако следует отметить, что ограничения должны быть линеиными — в противном случае возвращается сообшение об ошибке с указанием на необходимость обеспечения линейности ограничиваюших условии. Возможна и матричная форма функции: 1Ч1Р8о1че(п, р, пс, п)с, 1с, Ьб, ор1в) !Ч(.Р8о!че(п, р, 1с, Ьб, ор1в) Примеры на ее применение можно найти в справке по функции )Ч(.РБо!че.
6.6.6. Работа с функцией импорта данных из файлов — 1гпрогтМРС Для импорта данных из файлов служит функция: 1гпропМР8(81епагпе (, п1ахгп, гпахп, 1очЬпд, прбп6, оргв)! В ней используются следуюшие параметры: ° 61епагпе — имя файла для МР8(Х) в виде строки;е ° гпахш — максимальное число линейных ограничений; ° глахп — максимальное число переменных; ° 1овЬпд — значение нижней границы для переменных; ° црЬпд — значение верхней границы для переменных; ° оргв — выражения в виде опций, записываемых в форме орбоп=ча!це, где орг!оп один из объектов гйвпате, гап8епагпе или Ьоцпбвпагпе, заданный лля ! гпрог1М Р8 команд.
С деталями применения этой функции можно ознакомиться по справке по ней. 6.6.7. Нелинейная регрессия Наконец в Мар!е 9.5 появились средства для полноценной нелинейной регрессии (реализации метод наименьших квадратов для произвольных приближаюших зависимостей). Для этого служит функция: (.88о)че(оЬ1, сопя(г, Ьб, ор(в) 1 88о1че(ор1оЬ1, !пеосоп, еосоп, орЯх~, ор!в) Большинство ее параметров уже описывалось. Исключением является параметр орГоЬ! — список процедур для остатков (разностей) метода наименьших квадратов. Пример применения этой функции для приближения облака заданных точек дага нелинейной зависимостью с именем р дан на рис. 6.6. 6.6.8.
Маплет-оптимизация с помощью функции 1птегасбче функция !п1егасбче служит для организации интерактивной оптимизации в Мар)ег-окне. Эта функция может задаваться в виде: !и!егасбче() 1и!егасбче(оЬ1, сопв!г) В первом случае открывается «пустое» Мар!е1-окно, а во втором окно с введенной целевой функцией оЬ! и ограничиваюшими условиями сопвгг. Вид окна с примером квадратичной оптимизации представлен на рис. 6.7.
424 Глава б. Решение задач линейной алгебро<, опншл<изации и регреееии <ал л < лл л ~ т ал л < лллл. ало<ар<[ < ллл ]: а л . 1<1.1.51,[2,3.51,<2.5,!..91.<3.1,4.51,[4.3,1.91, 14.7.2 !О. 6. Э. 41, <6 7 . О . 51, 1) . Л, 4), <7 . 4 . ). 71 1: р : л 5 Ь* 4 )+а* гла"» р[( ) - '«!.(р. л. а!)1) а [21, алл ): 1 ° ллл 1 '(лл 14 ) ! = (9 799)1650829796984 !. = )4 2425902266785958 = о 005068178<8955171 ( = О !48)17633940657068 Ь= .7 044<гои570633939,4 = 1 53722867)8602) У= 7 12\39344171486677)! рр)у: — 1(р, 1 <21); ус<у = о 00506817808955171546 л - О 14871763394065 068 л + 1 537228677860 704487080570673939л + 1424259022667Е5958л -7 )2139344171486677 лалл<р< л ):р) - р <.лр< л[алл ):рг:- р) л<рлау л-о.о..о): 425 б.7.