Квадратичне програмування

Квадратична форма та її властивості. Метод розв’язування задач квадратичного програмування. Метод Франка-Вульфа: визначення оптимального плану задачі шляхом перебору розв’язків, які є допустимими. Визначення прибутку для заданого виду продукції.

Рубрика Экономико-математическое моделирование
Вид лекция
Язык украинский
Дата добавления 08.10.2013
Размер файла 173,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Лекція

КВАДРАТИЧНЕ ПРОГРАМУВАННЯ

1. Квадратичне програмування

Окремою частиною задач опуклого програмування є задачі квадратичного програмування. До них належать задачі, які мають лінійні обмеження, а функціонал являє собою суму лінійної і квадратичної функцій:

квадратичний програмування план прибуток

2. Квадратична форма та її властивості

Квадратична функція n змінних називається квадратичною формою і може бути подана у вигляді:

,

де , , ,

причому матриця С завжди симетрична, тобто для всіх .

Квадратична форма Z(X) називається від'ємно означеною, якщо для всіх Х, крім Х=0, значення Z(X)<0 (якщо Z(X) ? 0, то маємо від'ємно напівозначену квадратичну форму), у протилежному разі Z(X) є додатно означеною (якщо Z(X) ? 0, то маємо додатно напівозначену квадратичну форму).

Квадратична форма Z(X) називається неозначеною, якщо вона додатна для одних значень Х і від'ємна для інших.

Вид квадратичної форми можна визначити, використовуючи

- вектор характеристичних коренів (власних значень) матриці С.

Вектор характеристичних коренів матриці С є вектором, кожна компонента якого задовольняє систему рівнянь виду . Система має ненульовий розв'язок, якщо . Таке рівняння називається характеристичним рівнянням матриці С і має коренів, які утворюють вектор :

.

Теорема 1. Для того, щоб довільна квадратична форма була додатно (від'ємно) означеною, необхідно і достатньо, щоб усі компоненти вектора характеристичних коренів були додатними (від'ємними) значеннями.

Якщо хоча б один із характеристичних коренів дорівнює нулю, то квадратична форма є напівдодатною (напіввід'ємною). Якщо корені мають різні знаки, то квадратична форма є неозначеною.

Приклад 1. Визначити вид квадратичної форми:

Матриця С має вигляд:

.

Запишемо характеристичне рівняння .

Звідси маємо:

.

Коренями отриманого квадратного рівняння є: , тоді . Отже, квадратична форма за теоремою 8.5 є напіввід'ємною.

3. Метод розв'язування задач квадратичного програмування

Зазначимо, що відомим з теорії аналізу функцій є таке твердження: від'ємно означена квадратична форма є угнутою, а додатно означена - опуклою.

Розглянемо випадок від'ємно означеної квадратичної форми, що входить у цільову функцію задачі квадратичного програмування.

max , (1)

; (2)

. (3)

Оскільки цільова функція задачі є опуклою, а обмеження -- лінійні, тобто визначають опуклу множину допустимих розв'язків, то ця задача належить до задач опуклого програмування, для яких справджується твердження, що будь-який локальний максимум є і глобальним. Отже, використовуючи умови теореми Куна-Таккера для задачі (1)-(3), отримаємо необхідні та достатні умови оптимальності плану у вигляді такої теореми.

Теорема 2. Вектор Х* є оптимальним розв'язком задачі квадратичного програмування тоді, і тільки тоді, коли існують такі m-вимірні вектори і n-вимірний вектор , що виконуються умови:

(І) , ; (10.4)

(ІІ) , ; (10.5)

(ІІІ) , ; (10.6)

(ІV) , . (10.7)

Наведену теорему можна використати для побудови ефективного методу розв'язування задач квадратичного програмування на основі алгоритму симплексного методу.

Умови (4)-(7) утворюють стосовно змінних систему (n+m) рівнянь з 2(n+m) невідомими.

Умови (4) та (5) означають, що змінні не можуть одночасно мати додатні значення, тобто входити в базис разом. Якщо деякі k компонент вектора додатні, то відповідні їм компоненти вектора V дорівнюють нулю і лише (n-k) компонент відмінні від нуля (додатні). Отже, разом будуть мати не більш ніж n додатних компонент. З аналогічних міркувань щодо рівності (7) випливає, що разом з буде n+m відмінних від нуля компонент, тобто це може бути базисний розв'язок системи, що утворена умовами (4) та (6). Для знаходження такого розв'язку можна застосувати симплексний метод.

Якщо зазначена система рівнянь має допустимий план (він буде єдиним), то оптимальний план відповідної задачі квадратичного програмування також існує.

Розв'язуємо систему рівнянь (4) і (6) симплексним методом. Як відомо, спочатку необхідно привести систему обмежень до канонічного виду введенням потрібної кількості додаткових та штучних змінних. Для зведення системи до канонічної форми та визначення початкового опорного плану вводимо штучні змінні у рівняння виду (4), які будуть базисними для першого опорного плану, а змінні - у групу рівнянь (6), які також дають базисні змінні для початкового плану. Потім для знаходження базисного розв'язку системи (4), (7) розв'язуємо симплексним методом таку задачу лінійного програмування:

max (8)

за умов:

(9)

. (10)

Якщо в процесі розв'язування задачі (8)--(10) всі штучні змінні будуть виведені з базису і разом з цим для знайдених значень змінних виконуються умови (5), (7), то знайдений розв'язок є оптимальним планом задачі квадратичного програмування (1)-(3).

Приклад 2. Розв'язати задачу квадратичного програмування:

за умов:

Розв'язання. Оскільки цільова функція виражена сумою лінійної функції та квадратичної форми , а система обмежень є лінійною, то маємо задачу квадратичного програмування.

Визначимо вид квадратичної форми , для чого відшукаємо корені характеристичного рівняння, що відповідає матриці, складеній з коефіцієнтів при змінних даної функції:

.

Характеристичним рівнянням для матриці С буде:

Оскільки обидва корені характеристичного рівняння від'ємні, то квадратична форма є від'ємно означеною, а отже, опуклою.

Запишемо функцію Лагранжа для цієї задачі:

.

Скористаємося теоремою 4. Необхідні умови існування екстремуму матимуть вигляд:

, причому ;

, причому ;

, причому,

де - координати сідлової точки.

Обмеження, що відповідають нерівностям, запишемо у вигляді:

Вводимо додаткові змінні для зведення нерівностей до рівнянь:

Для зведення задачі до канонічної форми помножимо кожне рівняння на (-1):

Очевидно, що в даному разі штучні змінні необхідно вводити в перші два рівняння. У третьому рівнянні базисною змінною буде . Маємо таку задачу лінійного програмування:

,

.

Розв'язавши її симплексним методом, отримаємо:

Необхідно перевірити виконання умов:

;

;

.

Всі умови виконуються, отже, є сідловою точкою функції Лагранжа для задачі квадратичного програмування, а - оптимальним планом задачі, для якого значення функціонала дорівнює:

.

4. Градієнтний метод

Градієнтні методи належать до наближених методів розв'язування задач нелінійного програмування і дають лише певне наближення до екстремуму, причому за збільшення обсягу обчислень можна досягти результату з наперед заданою точністю, але в цьому разі є можливість знаходити лише локальні екстремуми цільової функції. Зауважимо, що такі методи можуть бути застосовані лише до тих типів задач нелінійного програмування, де цільова функція і обмеження є диференційовними хоча б один раз. Зрозуміло, що градієнтні методи дають змогу знаходити точки глобального екстремуму тільки для задач опуклого програмування, де локальний і глобальний екстремуми збігаються.

В основі градієнтних методів лежить основна властивість градієнта диференційовної функції - визначати напрям найшвидшого зростання цієї функції. Ідея методу полягає у переході від однієї точки до іншої в напрямку градієнта з деяким наперед заданим кроком.

Розглянемо метод Франка-Вульфа, процедура якого передбачає визначення оптимального плану задачі шляхом перебору розв'язків, які є допустимими планами задачі.

Нехай необхідно відшукати

за лінійних обмежень:

;

Допустимо, що Х0 - початкова точка, що належить множині допустимих планів даної задачі. В деякому околі цієї точки нелінійну цільову функцію замінюють лінійною і потім розв'язують задачу лінійного програмування. Нехай розв'язок лінійної задачі дав значення цільової функції F0, тоді з точки Х0 в напрямку F0 необхідно рухатись доти, поки не припиниться зростання цільової функції. Тобто у зазначеному напрямку вибирають наступну точку Х1, цільова функція знову замінюється на лінійну, і знову розв'язується задача лінійного програмування.

Розглянемо детальніше перехід від k-ої ітерації методу до (k + 1)-ої ітерації.

Припустимо, що відома точка Xk, яка належить області допустимих розв'язків. У даній точці обчислюємо градієнт цільової функції:

.

Значення градієнта функції задає в даній точці напрям найшвидшого її зростання.

Замінюємо цільову функцію задачі лінійною функцією виду:

.

Потім розв'язуємо задачу лінійного програмування з обмеженнями початкової задачі і новою цільовою функцією:

за умов:

;

.

Нехай розв'язком такої задачі є точка .

З початкової точки в напрямку рухаємося з деяким довільним кроком , визначаючи координати нової точки у такий спосіб:

Зауважимо, що значення параметра доцільно вибирати таким, що дає найбільше значення цільової функції початкової задачі

.

Для точки Хk+1 повторюємо розглянутий процес, для чого знову розраховуємо значення градієнта і т. д.

У такий спосіб знаходимо послідовність точок , які поступово наближаються до оптимального плану початкової задачі. Ітераційний процес повторюється до того моменту, поки значення градієнта цільової функції не стане рівним нулю або виконуватиметься умова , де - досить мале число, яке означає потрібну точність обчислень.

Приклад 3. Підприємство виробляє два види продукції (А і В) і використовує на виробництво три види ресурсів: І, ІІ, ІІІ. Витрати ресурсів на виробництво одиниці кожного виду продукції подано в табл.1.

Таблиця 1

Ціна реалізації одиниці продукції виду А становить 20 ум.од., проте прибуток залежить від витрат на виробництво, які пропорційні квадрату кількості виготовленої продукції. Аналогічно визначається прибуток для продукції виду В, ціна реалізації якої дорівнює 18 ум.од.

Розв'язання. Позначимо через х1 кількість продукції виду А, х2 - кількість продукції виду В, тоді загальний прибуток матиме вигляд:

.

Математична модель задачі має вигляд:

,

.

Розв'яжемо задачу методом Франка Вульфа.

І ітерація

Вибираємо точку, що належить множині допустимих планів задачі. Розглянемо, наприклад, точку .

Визначимо градієнт цільової функції:

.

В точці обчислюємо значення градієнта:

.

Використовуючи розраховане значення градієнта, записуємо і вводимо нову цільову функцію: . Маємо таку задачу лінійного програмування:

.

Розв'язуючи цю задачу симплексним методом, знаходимо її оптимальний план: .

Знайдемо новий допустимий план задачі, використовуючи формулу для визначення координат наступної точки.

Визначаємо координати точки Х1:

, ,

Знайдемо крок такий, за якого досягається максимальне значення цільової функції. Для цього підставимо розраховані значення для х1, х2, які виражені через , у цільову функцію :

Отримали функцію, що залежить від . Знайдемо значення , за якого функція досягає максимуму, тобто коли її похідна дорівнює нулю:

Оскільки , то беремо . Тоді наступна точка Х1 має координати:

.

Для знайденої точки обчислюємо значення цільової функції: .

ІІ ітерація

Узявши точку , обчислюємо значення градієнта в ній:

Використовуючи розраховане значення градієнта, вводимо нову цільову функцію: . Отримуємо таку задачу лінійного програмування:

.

Розв'язавши її симплексним методом, отримуємо оптимальний план: .

За формулою визначаємо координати наступної точки наближення.

Визначаємо координати точки Х2:

,

.

Знайдемо такий крок л2, за якого досягається максимальне значення цільової функції:

Матимемо .

Обчислимо координати наступної точки Х2:

Для знайденої точки значення цільової функції дорівнює: .

Продовжуючи процес у аналогічний спосіб, на ІІІ ітерації визначаємо точку і переконуємося, що значення цільової функції знову зростає: .

На IV ітерації розраховуються координати точки , для якої .

V ітерація

Узявши точку , обчислюємо значення градієнта в ній:

.

Використовуючи значення цього вектора (градієнта), вводимо нову цільову функцію: і маємо таку задачу лінійного програмування:

,

.

Розв'язавши цю задачу, отримаємо значення оптимального плану , тобто повертаємося до попереднього значення. Отже, точку з координатами вважаємо оптимальним планом, оскільки маємо нульовий градієнт функції, тобто цей план поліпшити вже не можна.

Размещено на Allbest.ru

...

Подобные документы

  • Загальна економіко-математична модель задачі лінійного програмування. Основні форми запису задач. Оптимальний та допустимий розв'язок. Геометрична інтерпретація, властивості розв'язків та графічний метод розв'язування задач лінійного програмування.

    презентация [568,4 K], добавлен 10.10.2013

  • Опис опуклих та вгнутих функцій. Загальна постановка задачі опуклого програмування. Теорема Куна-Таккера та її застосування для розв’язування задач опуклого програмування. Квадратична форма та її властивості. Постановка задачі квадратичного програмування.

    презентация [454,1 K], добавлен 10.10.2013

  • Теорема Куна-Такера в теорії нелінійного програмування. Правила переходу від однієї таблиці до іншої. Точка розв’язку задачі. Побудування функції Лагранжа. Доведення необхідності умови. Розв'язання задачі квадратичного програмування в матричній формі.

    курсовая работа [197,7 K], добавлен 17.05.2014

  • Багатокритеріальність, існуючі методи розв’язку задач лінійного програмування. Симплекс метод в порівнянні з графічним. Вибір методу розв’язання багатокритеріальної задачі лінійного програмування. Вирішення задачі визначення максимального прибутку.

    курсовая работа [143,7 K], добавлен 15.12.2014

  • Поняття задачі лінійного програмування та різні форми її задання. Загальна характеристика транспортної задачі, її математична модель. Графічний метод для визначення оптимального плану задач лінійного програмування. Правило побудови двоїстої задачі.

    контрольная работа [1,5 M], добавлен 04.09.2015

  • Набуття навичок складання математичної моделі задачі планування виробництва та її реалізації із використанням табличного процесору Excel. Визначення плану виробництва та забезпечення максимуму прибутку від реалізації. Лінійне програмування задач.

    лабораторная работа [130,4 K], добавлен 09.03.2009

  • Складання математичної моделі задачі планування виробництва та її реалізації із використанням табличного процесору MS Excel. Визначення плану виробництва та забезпечення максимуму прибутку від реалізації. Розв'язок задач з лінійного програмування.

    лабораторная работа [105,7 K], добавлен 09.03.2009

  • Методи розв’язування, аналізу та використання задач зі знаходженням екстремуму функції на множині допустимих варіантів у широкому спектрі теоретико-економічних та практичних проблем. Модель задачі лінійного програмування. Складання симплексної таблиці.

    контрольная работа [960,6 K], добавлен 08.10.2013

  • Загальна і основна задачі лінійного програмування. Приклади їх розв’язання задач симплекс-методом. Визначення максимального/мінімального значення функції. Етапи знаходження оптимального плану. Миттєвий попит при відсутності витрат на оформлення замовлень.

    курсовая работа [325,4 K], добавлен 25.04.2019

  • Заготівля кормів чорно-бурих лисиць і песців на звірофермі. Кількість корму кожного виду, яку повинні щоденно одержувати звірі. Обчислення прибутку від реалізації однієї шкурки лисиці і песця. Розв’язання задач лінійного програмування симплексним методом.

    контрольная работа [249,5 K], добавлен 28.03.2011

  • Розробка програмного комплексу для розв’язання задачі цілочисельного програмування типу "Задача комівояжера". Класифікація задач дослідження операцій. Вибір методу розв’язання транспортної задачі; алгоритмічне і програмне забезпечення, тести і документи.

    курсовая работа [807,7 K], добавлен 07.12.2013

  • Максимальна негативна кількість та індексний рядок. Розв'язання задачі лінійного програмування симплексним методом. Побудова першого опорного плану системи нерівностей. Метод штучного базису та матриця коефіцієнтів. Основний алгоритм симплекс-методу.

    контрольная работа [302,8 K], добавлен 28.03.2011

  • Приклади задач математичного програмування (на добір оптимальної суміші сплавів, складання оптимального раціону, транспортна, про оптимальний добір). Економічна модель задачі. Геометрична інтерпретація стандартної задачі, її розв’язання симплекс-методом.

    курсовая работа [8,3 M], добавлен 28.11.2010

  • Загальна модель задачі математичного програмування, задача лінійного програмування та особливості симплекс–методу для розв’язання задач лінійного програмування Економіко–математична модель конкретної задачі, алгоритм її вирішення за допомогою Exel.

    контрольная работа [109,7 K], добавлен 24.11.2010

  • Розробка математичної моделі задачі оптимізації, розв’язання її засобами "Пошук рішення" в MS Excel. Класичні методи дослідження функцій на оптимум. Графічне розв’язання задачі лінійного програмування. Метод штучного базису. Двоїстий симплекс-метод.

    контрольная работа [755,6 K], добавлен 26.12.2011

  • Задачі лінійного програмування. Побудова першого опорного плану системи нерівностей. Введення додаткових змінних. Індексний рядок та негативні коефіцієнти. Побудова математичної моделі. Визначення потенціалів опорного плану. Область допустимих значень.

    контрольная работа [232,3 K], добавлен 28.03.2011

  • Складання математичної моделі задачі комівояжера. Її розв'язок за допомогою електронних таблиць Microsoft Excel. Знаходження оптимального плану обходу міст комівояжером за заданими критеріями. Інтерпретація графічно отриманого розв’язку даної задачі.

    контрольная работа [244,8 K], добавлен 24.09.2014

  • Характеристика середовища MATLAB та допоміжного пакету Optimization Toolbox. Функція linprog та її застосування у вирішенні оптимізаційних задач. Приклад вирішення задачі лінійного програмування у середовищі MATLAB. Вирішення задач мінімізації функцій.

    контрольная работа [27,0 K], добавлен 21.12.2012

  • Побудування математичної моделі задачі. Розв'язання задачі за допомогою лінійного програмування та симплексним методом. Наявність негативних коефіцієнтів в індексному рядку. Основний алгоритм симплексного методу. Оптимальний план двоїстої задачі.

    контрольная работа [274,8 K], добавлен 28.03.2011

  • Оцінка ефективності рішень фахівця відділу матеріально-технічного забезпечення. Визначення оптимального плану випуску продукції засобами стохастичного програмування. Застосування теорії графів в інформаційній безпеці. Оцінка ризику цінних паперів.

    курсовая работа [3,1 M], добавлен 22.09.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.