← Усі лекції

Методи оптимізації

Вступ до курсу, постановка й класифікація задач оптимізації, приклади в MATLAB

Дивак Микола Петрович

середа, 28 жовтня 2026 р. · 18:11 · 1 год 1 хв

Підсумок

Курс: «Методи оптимізації». Лектор: Дивак Микола Петрович.

Про запис. Вступне заняття в Zoom. Запис почався о 18:11 на півслові (лектор уже казав, що «це класичний курс», тож початок пари трохи втрачено) і тривав 1:01, до ≈19:12. Офіційна назва дисципліни в записі не звучить: лектор говорить лише про «цей курс» і «цю дисципліну», тож «Методи оптимізації» — описова назва за змістом. Перші 15 хвилин лектор розповідав структуру курсу без слайдів, потім ≈3 хвилини пауза (≈15:20–18:46 від початку запису), поки він діставав лекцію з Moodle, далі показ презентації: постановка задачі оптимізації, класифікація, три приклади, коротко MATLAB Optimization Toolbox. Між прикладами й MATLAB відповіді на питання групи. Розпізнавання місцями перекручене, імена тих, хто питав, у записі не названо.

⚠️ Що потрібно від мене

Коли Що зробити
Цього тижня Перевірити доступ до курсу в Moodle. На парі група сказала, що доступу ще немає; лектор учора пробував під'єднати й не зміг, обіцяв долучити протягом тижня. Якщо не з'явиться, нагадати йому.
Перед наступними парами Скачати лекції з Moodle й мати їх перед собою: лектор не завжди шаритиме екран, а проговорюватиме основні питання за матеріалом.
Для дисертації Правильно класифікувати свою задачу оптимізації (одно- чи багатокритеріальна, з обмеженнями чи без, цільова функція аналітична чи задана алгоритмічно, глобальна чи локальна): від цього залежить вибір методів і середовища. Лектор пропонує консультації протягом курсу, щоб допомогти підібрати методи під тему. Як тільки сформулюю свою задачу формально (змінні рішення, цільова функція, обмеження), прийти з нею.
Для дисертації Пам'ятати про вимоги лектора до наукової новизни: формалізація задачі обов'язкова, рішення має бути узагальненим (працювати для класу задач, а не одного випадку) й обґрунтованим через оптимізацію. Він підписує висновки на разових радах і перевіряє, чи здобувач глибоко розуміє, що зробив.
Самостійно Зайти в MATLAB і самому ввести приклади з лекції (прямокутник, регресія, контейнер), подивитись, як працює. Для навчальних і некомерційних дослідницьких задач можна безкоштовну навчальну версію; для мене як інженера ПЗ лектор окремо згадав, що модулі MATLAB можна інтегрувати через API.
Самостійно Еволюційні алгоритми: лектор розповість лише загальні принципи й генетичні алгоритми, решту «почитайте самі».
Якщо знадобиться Для складних оптимізаційних задач попросити в лектора доступ до розробки його школи: програма на C++ з алгоритмами бджолиної колонії, розпаралелена на CUDA, доступна будь-якому аспірантові.

📬 Що обіцяв лектор

💡 Головні тези

Мета й структура курсу

  1. Мета курсу: ознайомитися з основними задачами оптимізації, які можуть виникнути в дисертації, вивчити класичні методи (як працюють, переваги й недоліки) і познайомитися з інноваційними, зокрема метаевристичними алгоритмами: штучна бджолина колонія (ABC), колонія мурах, рій частинок, вовча зграя. Вони дають розв'язувати задачі, коли цільова функція задана алгоритмічно. Курс класичний і з року в рік мало змінюється. Основний інструмент — MATLAB, «найбільш потужний».
  2. Тема 1. Проблеми оптимізації та характеристика стандартного середовища: що таке задача оптимізації, її складові, класифікація, приклади, вступ до MATLAB і бібліотеки Optimization Toolbox.
  3. Тема 2. Оптимізація функції однієї змінної — базова для всіх оптимізаційних задач. Коротко аналітичні методи (цільова функція в явному вигляді й обмеження; на практиці рідко, але потрібні для розуміння решти) і класичні алгоритми одновимірного пошуку для унімодальних функцій (один екстремум, що теж рідко буває): золотий переріз, Фібоначчі, дихотомія (бісекція), квадратична інтерполяція. З них складаються складніші алгоритми.
  4. Тема 3. Багатовимірна оптимізація. Градієнтні методи, які сьогодні широко використовують для навчання нейронних мереж: спряжених градієнтів, найшвидшого спуску, Ньютона (другого порядку), квазіньютонівські. Нелінійний метод найменших квадратів для побудови регресії. Безградієнтні методи, коли функція мети не задана аналітично: Хука–Дживса, стохастичний пошук.
  5. Тема 4. Оптимізація з обмеженнями для функцій багатьох змінних: лінійне програмування й симплекс-метод (такі задачі часто виникають у наукових роботах), пошук на графах (використовують, наприклад, для навігації в системах ШІ) і метод гілок і меж.
  6. Тема 5. Багатокритеріальна оптимізація. Більшість наукових задач мають кілька критеріїв, часто протилежних: швидкодія й точність (з нескінченним часом можна досягти як завгодно високої точності, а треба й швидко, і точно). Парето-оптимальні розв'язки, метод ваг, ієрархічна оптимізація, згортка критеріїв в один (лектор сам часто нею користується), після чого задача стає класичною.
  7. Тема 6. Еволюційні алгоритми: загальні принципи, генетичні алгоритми. Найсучасніший тренд — алгоритми на основі мультиагентних систем: багато агентів шукають оптимум, комунікують і на кожному етапі обирають найкращий знайдений розв'язок. Сюди належать ройові алгоритми й алгоритми на основі поведінкових моделей бджолиної колонії.
  8. Навіщо курс, якщо є ШІ. Можна знайти засіб через штучний інтелект і застосувати, але «універсальний засіб, який ви використовуєте і не розумієте», завжди дає гірше рішення, ніж усвідомлений аналіз задачі, розбиття на частини й підбір менш відомих методів, налаштованих і адаптованих. У цьому й може бути наукова новизна: всі отримали модель такої-то складності й з такими витратами часу на прогноз, а ви іншим підходом — набагато більший ефект.

Постановка й класифікація задач оптимізації

  1. Звідки задачі оптимізації в дослідженнях: пошук математичної функції, що найкраще наближає експериментальні дані; навчання нейронної мережі на датасеті; будь-яка задача проєктування й синтезу; задача управління (оптимального контролю); встановлення причинно-наслідкових зв'язків. Пошук змінних, за яких досягається оптимальна характеристика явища, — це так звана обернена задача.
  2. Три складові будь-якої задачі оптимізації: змінні рішення (змінні проєктування, чинники, що впливають на рішення); цільова функція, яка залежить від них і будується на основі моделі явища; обмеження. Оптимізація — це по суті задача прийняття рішення.
  3. Критерій оптимальності — не просто показник. Часто пишуть «критерій оптимальності» і називають якийсь показник, і це неправильно: критерій включає саму функцію й вказівку, що з нею робити — мінімум, максимум чи досягнення конкретного значення.
  4. Без обмежень задача суто теоретична. Приклад: якщо в нейронній мережі не обмежити синаптичні ваги, розв'язок знайдеться, але мережа буде абстрактною й не відображатиме змісту реального явища чи процесу.
  5. Класична постановка: вектор змінних x₁…xₙ, цільова функція f(x), набір функцій-обмежень gᵢ(x), що теж залежать від вектора змінних; знайти мінімум f за дотримання обмежень (їх завжди можна звести до порівняння з нулем). Усі методи «крутяться» навколо того, як представлено змінні, чи лінійна цільова функція й обмеження, задані вони аналітично чи алгоритмічно.
  6. Класифікація: однокритеріальні й багатокритеріальні (насправді будь-яка задача з обмеженнями багатокритеріальна, бо кожне обмеження теж можна було б мінімізувати чи максимізувати); глобальна оптимізація (найменше значення на всій області пошуку) і локальна (найближчий мінімум від початкової точки); статична й динамічна (у задачах управління, коли характеристики змінюються в часі; переважно зводиться до рівнозначної статичної); без обмежень і з обмеженнями; окремі види на кшталт квадратичного програмування (квадратична цільова функція й лінійні обмеження).

Приклади

  1. Прямокутник. Знайти сторони a, b, що максимізують площу ab (нелінійна цільова функція), за обмежень: периметр 2a + 2b ≤ 16, a > 0, b > 0, a ≤ 5, b ≤ 5. Графічно: допустима область — квадрат 5 × 5, зрізаний прямою периметра; розв'язок — квадрат 4 × 4, площа 16.
  2. Наближення експериментальних даних. Таблиця значень вхідних змінних і виміряної функції; наблизити її квадратичною залежністю з невідомими коефіцієнтами c₁, c₂, c₃, мінімізуючи суму квадратів відхилень. Це задача нелінійного програмування без обмежень з трьома змінними, тобто проста регресія. Та сама задача — навчання нейронної мережі: архітектура задає нелінійну функцію, а синаптичні ваги підбирають, мінімізуючи середньоквадратичне відхилення.
  3. Контейнери для хімікатів. Перевезти тонну хімікатів у герметичних прямокутних контейнерах зі сторонами x₁, x₂, x₃. Верхня поверхня коштує $30/м², сторони одного типу $20/м², інші сторони й дно — з відходів, безкоштовні, але не більше 10 м² на контейнер; перевезення $2 за контейнер. Кількість контейнерів — обсяг вантажу, поділений на об'єм контейнера (x₁x₂x₃). Мінімізувати загальну вартість доставки за обмежень: усі сторони додатні, відходів ≤ 10 м².

Розуміти, а не «чорна скринька»

  1. Історія лектора. Колись він розв'язував нелінійні задачі готовими пакетами, не розуміючи, як виглядає його цільова функція, і розв'язки щоразу залежали від початкових умов. Якщо функція має багато екстремумів, будь-який чисельний метод збігається до найближчого до початкової точки, тобто до локального мінімуму, а це «ніякий не розв'язок задачі». Навіть видно, що є кращий розв'язок, але обґрунтувати це не можеш. Локальні мінімуми — найбільша проблема оптимізації.
  2. Висновок: треба розуміти природу цільової функції й уміти інтерпретувати математичний розв'язок на «фізику» задачі. Будь-яка підключена бібліотека — певною мірою чорна скринька; якщо генерувати код на Python через ШІ й бездумно брати стандартні бібліотеки, не думаючи про фізику розв'язку, це «шлях в нікуди». Нам, айтішникам, переважно доведеться «ліпити своє» в спеціальних програмних середовищах.

Що таке наукова новизна в дисертації

  1. Ейнштейнів ніхто не чекає. Треба розібратися в поставленій проблемі й відкрити елементи нових наукових знань. Без формалізації жодна задача не розв'язується, і тоді не можна претендувати на новизну.
  2. Інженерна робота проти науки. Молоді колеги приходять: «зробили так, отримали такий ефект» — добре, але це не наука, бо розв'язано один випадок. Наука поширюється на багато випадків: якщо, наприклад, у задачі розподілу ресурсів ти знайшов загальний підхід до оптимального розподілу, не такий, як у класиці, і інші застосують його у своїх задачах з позитивним ефектом, це нове знання. Дисертація має прагматичний характер: що не влаштовує користувачів продукту чи об'єкта, чи можна покращити відомими методами, а якщо ні, то що треба змінити в методах чи засобах. Обґрунтування — формальне, через розв'язування оптимізаційної задачі за різних умов.
  3. Простота й універсальність. Орієнтуватися на прості рішення, які водночас мають певний універсалізм. Приклад лектора (не наука, але винахід): в'єтнамки, які штампують з цілого шматка поліуретану з вирізами — копійчане й універсальне виробництво.

MATLAB і Optimization Toolbox

  1. Optimization Toolbox містить 24 бібліотечні функції для лінійної й нелінійної оптимізації та методу найменших квадратів. Потрібно створити M-файл із викликом головної процедури, функцією обмежень і параметрами обчислювальної процедури.
  2. Прямокутник у MATLAB (функція fmincon): нижні межі [0 0], верхні [5 5], початкова точка (у чисельних методах вона задається завжди), цільова функція — добуток сторін зі знаком мінус, бо шукаємо мінімум, а задачу на максимум завжди можна звести до мінімуму зміною знака; лінійне обмеження Ax ≤ b з A = [2 2], b = 16. Розв'язок 4 і 4, значення цільової функції 16.
  3. Регресія в MATLAB: на слайдах код M-файлу й результат, коефіцієнти регресії (у записі звучать 0,47 і 1,1). Розв'язки всіх трьох прикладів є в лекції в Moodle.
  4. Ліцензія (відповідь на питання з групи). Університет використовує безкоштовну навчальну версію MATLAB, її можна застосовувати й у дослідженнях без комерційного характеру. Для професійних задач школа лектора використовує власні продукти, зокрема згадану програму на C++ з бджолиною колонією й CUDA.

Транскрипція

Автоматичне розпізнавання мовлення, можливі помилки.

00:00:13 Власне, оскільки це класичний курс, то він мало змінюється з року в рік. Деякі інновації, про які там скажімо, Отримала моя наукова школа, мої учні, то я вам буду про це розказувати. В процесі це цікаві такі речі, які можуть вас зацікавити. Можливо, це вам буде потрібне також в процесі досліджень. А так в цілому ви можете вирости використати лекції, які є в Модлі, так? Ви всі зареєстровані в Модлі? Бо я щось вчора пробував у вас під'єднати і щось не зміг. Зареєстровані всі в Модлі, так, зараз? Так. Ви маєте маєте доступ до лекцій, так? Чи не маєте? До лекцій по цій дисципліні маєте доступ? Зараз перевіримо. Ну, подивіться, якщо ні, то я вас під'єднаю. Я думаю, що під'єднали. Якщо не під'єднали, то я під'єднаю. Ось. І наше з вами завдання: ще раз кажу, Ознайомитися з тими основними задачами, які можуть вас виникати в процесі розробки дисертаційної роботи, вивчити і класичні методи, як вони працюють, переваги недоліки їхніх, ну і познайомитися з інноваційними методами, які розробляються

00:01:39 в класі мета-евристичних алгоритмів оптимізації, такі, як штучні там колонії, наприклад, бджолина колонія, АБК алгоритми алгоритми джолиної колонії. Чи колонія мурах, чи це частинок, чи це вовча колонія, це такі більш-менш сучасні методи, які дають можливість розв'язувати задачі в умовах, коли Цільова функція, наприклад, задана алгоритмічно. Так, пускаємо. Роман Мороз бачу, добре. Так. Ось. Ну, і, власне, я хотів би, щоб ви мали біля себе лекції. Я не буду сьогодні принаймні розшарювати екран, показувати вам лекцію, яку я буду викладати. Я думаю, що ви можете кожен самостійно собі скачати, і ми будемо просто проговорювати основні питання, які стосуються цього матеріалу.

00:02:42 А сьогодні така вступна в нас, вступні заняття, то я так буду більше говорити про ті задачі, які ми будемо з вами розглядати. Ну і ми поспілкуємося з вами по ваших дисертаційних роботах. Ви зараз якраз знаходитеся на етапі визначення тем дисертаційних робіт, хтось вже визначився, хто ще визначається, і я спробую вам допомогти, як правильно підібрати методи, які ви можете застосовувати чи будете застосовувати під час виконання спо Своєї роботи. Отже, якщо не заперечуєте, то я трішки розкажу про структуру цього курсу. Курс включає таких основному шість тем, але це Сергій Осачук очікує на вхід. Ну, не бачу його, поки що. Перепрошую, а де ж він? Зараз я зайду, подивлюся.

00:03:41 Ніби не бачу. Запиту не бачу його. Я йому зараз тоді сказав, що перезайшов, просто тоді. Я не бачу його запиту тут, не можу його пустити, бо не бачу запит. Отже, про структуру курсу. Почнемо ми з теми, яка стосується проблем оптимізації та характеристики стандартного середовища. Я вам казав, що буду орієнтуватися на МАТЛАБ, оскільки це найбільш потужний інструмент і для своїх задач, якщо ви будете, наприклад, ті, що навчаються на спеціальності інженерія програмного забезпечення, якщо ви будете свою задачу розв'язувати, і вам треба буде інтегрувати, ви можете АПІ використовувати, конкретні модулі через АПІ, доступ до відповідного середовища матла. Отже, перша тема. Проблеми оптимізації та характеристика стандартного середовища.

00:04:42 Сформулюємо проблеми оптимізації, що таке задача оптимізації, які складові і звичайно класифікація задач. Бо перший крок для того, щоб розв'язати ту задачу, яка пов'язана з вашим дисертаційним дослідженням, правильно класифікувати, яку ж задачу оптимізації ви будете розв'язувати. Залежно від того, ви будете підбирати. Відповідне середовище. Дам вам приклади завдань, розв'язування задач оптимізації і дам короткий вступ до середовища МАТЛАБ та бібліотеки. Я бачу, так? Бібліотеки Оптимізейшн Тубокс, коротенький вступ, як правильно використовувати ті стандартні функції. Далі ми познайомимося з класичною задачою оптимізації функції одної зміної. Це задача, яка є базовою для розв'язування всіх оптимізаційних задач.

00:05:47 Короттенько вам скажу про аналітичні методи оптимізації. Мало ймовірно, що ви десь їх будете застосовувати, тому що переважно сьогоднішні задачі, де цільова функція формується, як я вже казав, алгоритмічно, переважно. Тут мова йде про те, що є якась функція, яка сформована в аналітичному вигляді, в явному вигляді, це цільова функція. Ну, і є обмеження. Як таку задачу розв'язувати. Це потрібно для того, щоб ви розуміли наступні методи, про які ми будемо з вами говорити. Ну, є також класичні алгоритми одновимірного пошуку, де цільова функція не обов'язково має бути задана, вона просто може бути задана алгоритмічно, але вона є унімодально, тобто має тільки один екстремум, що також рідко на практиці буває. Але з цього алгоритму, про який я буду вам розказувати, складаються інші більш складні алгоритми.

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

00:08:08 Ну, метод найменших квадратів це класичний підхід для побудови функ. Далі безградієнтні методи розглянемо з вами, тобто, коли ми не маємо аналітичного задання функції мети багатовимірної. Тут використовуються методи Хука Джевіса, стохастичні алгоритми пошуку і таке інше. І інші методи, там метаюристичні алгоритми, про які я буду говорити пізніше. Далі ми розглянемо тему класичні знову методи оптимізації з обмеженнями з функцією багатьох змінних. Розкажу вам трішки про лінійне програмування, симплекс метод, класичні методи, такі задачі часто виникають також при розв'язуванні ваших наукових задач, де треба оптимізувати є лінійна функція.

00:09:09 Можна використовувати лінійну функцію. Також алгоритми пошуку на граф. Трішки розкажу вам про це, це дуже важливі задачі. Вони, наприклад, використовуються сьогодні в системах штучного інтелекту, наприклад, для навігації. Це пошук на графах або метод віток і границь. Наступне алгоритми багатокритеріальної оптимізації. Тобто, коли є не одна цільова функція, а їх є багато, як розв'язувати тоді задачу, якщо маємо багато критеріїв? А переважно будь-які наші з вами наукові задачі, вони пов'язані не з одною, що треба мінімізувати одну функцію, а декілька функцій. Ну, наприклад, якщо ми говоримо про

00:10:09 ті ж самі, скажемо, задачі вибору рішення, коли ми маємо різні або протилічні критерії. Наприклад, з одного боку, треба підвищити швидкодію, швидкість обчислень, щоб ми за коротший час розрахували, з іншого боку, треба забезпечити точність. Точність і швидкодія - це взаємно протилежні речі, тому що можна з загалом нескінченною з нескінченним часом Досягнути нескінченно високої точності. І це протиріччя, бо нам переважно треба за коротший час розв'язати задачу і досягнути високої точності, тобто протиріччя вихонь. Такі алгоритми багатокритеріальної оптимізації використовуються в цьому випадку.

00:11:11 Ну, і є поняття парети оптимальних розв'язків. Тут використовується метод ваг, метод ієрархічної оптимізації. Також можна використовувати, часто ми використовуємо, я використовую в своїх задачах метод. згортки, коли ми згортаємо всі критерії до одного, і тоді переходимо до класичної задачі. Про такі прийоми будемо з вами також говорити. Ну і завершальним етапом це будуть еволютивні алгоритми оптимізації, загальні принципи побудови, розкажу вам трішки про генетичні алгоритми, решта почитайте самі Важливим якраз і самим сучасним трендом в оптимізації, в розробці методів оптимізації є алгоритми оптимізації на основі мультиагентних систем. Мультиагентні системи, І

00:12:10 суть яких полягає в тому, що є багато агентів в системі, кожен агент шукає оптимальний розв'язок і вони між собою комунікують, ці агенти, І вибирають найкращий розв'язо серед тих, що знайдені на кожному етапі. До тих мультиагентних систем відносяться алгоритми Рою, я коротенько про них говорив, і зокрема, алгоритми на основі поведінкових моделей бджолиної колонії. Отут, якщо нагадаєте мені, я вам покажу деякі свої експерименти, проведені з задачами, коли ми використовуємо штучний інтелект, і використовуємо для того, щоб розв'язати певну задачу. Наприклад, спрогнозувати динаміку якихось процесів, забруднення середовища, забруднення водних ресурсів, у нас є такі задачі. І це одна сторона, коли нейронні мережі беремо вибірку, якийсь датасет, і на ньому проганяємо будуємо нейронну мережу.

00:13:17 І друга задача, коли ми будуємо різницеві рівняння, які теж описують динаміку із використанням поведінкових моделей бджолиної колонії. Наскільки ці моделі виходять простіші і наскільки мають вищу точність? Загалом я хочу сказати, що в принципі можна було б вам і не слухати цей курс, просто виникла задача, ви пошукали засобами штучного інтелекту, знайшли собі якусь, скажімо, Знайшли собі якусь загалом засіб якийсь, його використали. Але пам'ятайте завжди одну просту істину: універсальний засіб, який ви використовуєте і не розумієте, як ви його використовуєте, він завжди буде давати набагато гірше рішення, ніколи усвідомлено, добре аналізуючи задачу, розбиваючи її на частинки І підбираючи, наприклад, методи, які

00:14:19 є менш відомі, але ви їх налаштовуєте, адаптуєте, вони завжди дадуть кращий результат. І в тому може бути науково новизна, що всі використовували так, отримали таку модель, такої складності, такі витрати часу на розрахунок, наприклад, одного прогнозованого значення, а ви використали інший підхід і отримали набагато більший ефект. Тому от такі приблизно будуть наші з вами завдання. Чи є до мене питання? Ви вже працюєте над темами своїх дисертаційних робіт. Щоби зробити наш курс такий трішки прикладним, я готовий давати вам в процесі викладання цього курсу, якісь консультації, дотичні до ваших диссертаційних робіт. Чи є питання до мене? По структурі то, що я вам сформулював. Немає.

00:15:20 Чи ви маєте доступ до лекцій? Не маємо. Немає. Вас, напевно, ще не долучили. Бо вчора я дивився, вас ще не було. Ну я думаю, що протягом тижня я вас долучу до того, щоб ви могли бачити ті лекції, і ми тоді з вами спілкувалися. Якщо ні, то тоді давайте зробимо так. Я зараз спробую зайти в Модул, витягнути одну лекцію свою. І ми тоді, щоб розшарити екран, щоб ви бачили, про що я буду говорити. Годиться так? Годиться, добре. Тоді секундочку.

00:18:46 Так, чи ви бачите презентацію? Так, так. Бачите. Ну, я тепер я якраз думаю, що ви собі вже зможете. Витягнути лекції, так. Отже, якщо ви бачите, то прошу проблеми оптимізації, формулювання та складові класифікації. Ми пройдемо сьогодні коротенько по цих основних питаннях. Отже, прошу звернути увагу на цей перший слайд. Як я вам вже говорив, що при проведенні ваших досліджень, ми стикаємося з задачею оптимізації. Ну, тут є якраз на цьому слайді різні переліки задач, такий коротенький, з якими ми стикаємося, я би виділив тут задачу, якщо ви бачите курсор, я думаю бачите,

00:19:58 задача, коли ми шукаємо математичну функцію, яка в найкращий спосіб наближає дані зібрані в ході експерименту. Це от якраз ті задачі, які вирішують переважно процесі досліджень. Задача навчання нейронної мережі, коли ми маємо певний датасет, то от якраз вона тут і є сформульована, варто сказати, що кожного з проблем оптимізації, можна сформулювати як оптимізаційну задачу. Як оптимізаційну задачу. Що для того, щоб чітко сформулювати оптимізаційну задачу? По-перше, має бути модель явища. З чіткими змінними, які впливають на рішення. Тобто, з тими змінними, значення яких ми шукаємо в процесі оптимізації. Оптимальна характеристика, яка стосується цього явища, при певних заданих значеннях змінних.

00:21:08 От пошук тих змінних, так звана зворотня задача, ще її називають, якраз є задачею оптимізації. Будь-яка задача проєктування, щоб ви знали, вона пов'язана із оптимізацією. Задача синтезу, проєктування синтезу - це також оптимізація. Які складові будь-якої задачі оптимізації? Наявна цільова функція, яка будується на основі моделі явища з змінами, які впливають на рішення, і вона називається цільова функція критерієм якості розв'язування оптимізаційної задачі. Та обмеження. Оці дві складові якраз застосовуються. Ну, оскільки в нас контингент аспірантів, які слухають ці лекції, це в основному інженери все таки, то

00:22:12 це я вам сказав - задача проектування. Раз, задача управління, це задача оптимального контролю, ну і задача встановлення причинно-наслідкових зв'язків за допомогою певної функції. Ось основні поняття оптимізації. На цьому слайді прошу звернути увагу. Змінні рішення, яке приймається. Загалом задача оптимізації - це задача прийняття рішення, тобто визначення якихось характеристик, параметрів, які забезпечують певні Показники певні, яким при формулюванні на мінімум, на максимум, або досягнення конкретного значення, які ще називаються цільовою функцією. Часто плутають пишуть там критику оптимальності, і пишуть, називають якийсь показник. Це неправильно.

00:23:12 Має критерій, включає в себе саму функцію і вказівку, чи ми хочемо максимум знайти цієї функції, чи ми хочемо знайти мінімум, чи ми хочемо досягнути якогось певного значення. Отже, оце ви маєте запам'ятати таку просту ість істинну, що в будь-якій задачі оптимізації є змінні рішення, змінні проектування, які описують рішення. Тобто це чинники, які впливають на це рішення. Цільова функція, яка визначає хороше якісне рішення, вона залежить від тих змінних проєктування. Вона повинна залежати, тобто ми пробуємо досягнути, прагнемо досягнути значення цієї функції мінімального або максимального, і при цьому знайти при яких змінних рішеннях досягається цей мінімум чи макс. І обмеження обов'язково має бути обмеження, в які знаходиться це рішення.

00:24:18 Без обмежень рішення це чисто теоретичні задачі, такі, наприклад, градієнтні методи, чисто теоретичні задачі, де не задаються обмеження на пошук. Якщо хтось займається нейронними мережами, то я можу навести приклад. Якщо ми не встановлюємо обмеження на вагові коефіцієнти на синаптичні ваги, то ця задача чисто теоретична. Її розв'язок її можна знайти, але цей розв'язок буде чисто теоретичний. Нейронна мережа побудована, вона буде абстрактною і абсолютно не буде відображати ніякого змісту. Змісту реального, змісту, не пов'язаного з реальним явищем чи процесо, коли ви таку нейронну мережу побудуєте. Це як приклад.

00:25:17 Так, проблема оптимізації. От тут на цьому слайді прошу звернути увагу, шановні аспіранти, тут є класична постановка задачі оптимізація. Значить, от то, що я вам казав: Рішення представляється в вигляді набору змінних х1, 2, 7. Набір змін. Дальше. Цільова функція, залежна від цих змін, то що я вам казав. Далі, набір функцій, що належить від зміни рішень. Тобто є певні обмеження, які також є функціями, і вони залежать від вектора змних рішень. Ну і питання: знайти мінімум цієї функції цільової при дотриманні Обмежень там. Що значення цієї функції має бути більше чи рівне якоїсь величини. Ну, завжди можеш записати, звести цю задачу до обмежень з нулем.

00:26:20 Ось це є класична постановка задачі оптимізаційної. І тут, власне, всі решта методів оптимізації крутяться навколо того, як представляється вектор змінних рішення Як задається цільова функція, чи вона лінійна, нелінійна? Вона задається алгоритмічно, чи можна описати математичним співвідношенням? Те саме стосується і обмежень. Наскільки вони задаються алгоритмічно, лінійні, нелінійні і таке інше. Ось тут є класифікації. От власне від того, які ті функції, які набори змінних, від того буде залежати класифікація. Прошу звернути на цей слайд. Звичайно, самі прості задачі, однокритеріальні, коли одна тільки функція. Є задачі оптимізації, коли ми маємо багато цих цільових функцій. Ну, власне, от коли ми представляємо, є в нас деякі функції, які задаються як обмеження, то це можна враховувати, що це є багато

00:27:29 критеріальна задача, тому що є одна цільова функція, і є у функції обмеження. Ми вже просто визначили, що це має бути обмеженнями. Насправді це задача - багато критеріальна. Бо кожне з цих обмежень можна задавати на мінімум, на максимум. Знову ж таки, так. Є поняття глобальної оптимізації, коли ми шукаємо серед на цій області пошуку рішень, коли ми шукаємо таку точку, яка забезпечує найменше значення. Ну, є локальна оптимізація, коли ми на цій області шукаємо перший наближене значення мінімум від точки, де ми починаємо пошу Є статична, є динамічна. Динамічна, це вона використовується в задачах управління, тобто, коли змінюються характеристики в часі. Вона переважно перетворюється до рівнозначних задач статичної оптимізації.

00:28:35 Є оптимізація без обмежень, є з обмеженнями, ну і тут ви бачите різні види тих, види різних там квадратичне програмування, наприклад, з обмеженнями це лінійна цільова функція і точніше квадратична цільова функція І лінійні функції, які задають обмеження. Ось на цьому слайді наведено ряд методів і алгоритмів, які стосуються класифікації, класифікації алгоритмів, зокрема, задач з обмеженнями. Ми будемо ці методи всі розглядати, і задач. Задач з обмеженнями і задач без обмежень. Ось ми тут їх ті алгоритми бачили. Види тих алгоритмів. Ну, тепер давайте перейдемо до прикладів.

00:29:36 І тут ми з вами трошки зупинимося, і я від монологу перейду до діалогу з вами. Давайте я розгляну просту математичну задачу, яка призводить до оптимізації, а потім поспілкуємося з кожним з вас. Отже, дивіться, яка проста задача. Є прямокутник зі сторонами А і Б Прості, наша задача знайти для деякого прямокутника оптимального, так будемо говорити, поки що абстрактного, довжини сторін. Для цього задається цільова функція, не лінійна, бо довжини сторін множиться між собою, так? І тепер

00:30:27 ми задаємо так, задаємо обмеження. Ось в нас задана цільова функція, та цільова функція визначає в нашому випадку добуток тих сторін. Обмеження, задається, от тут ми задали обмеження, перше обмеження. Що якщо ми помножимо 2а плюс 2б, тобто периметр не може перевищувати 16, це обмежений периметр цього прямокутника, менше 16. Далі. Ясно, що обмеження А більше 0, тобто сторона не може бути менше як 0, це обмеження природнього задаються. І четверте обмеження, і бе більше нуля. Але разом з тим обмеження такі, що довжина сторони повинна бути не більше п'яти. І довжина другої сторони повинна бути не більше п'яти обмеження

00:31:32 І отут є якраз намальовано приклад, як розв'язується ця задача оптимізації. Оце є допустимо область. Допустимо область, це що означає, що значення сторони може бути від 0 до 5 одні, і значення другої сторони від 0 до 5. Оце є той прямокутник, який задає обмеження. То є оця функція, тут отака лінія, це є то, що периметр має бути менший і рівне 16. Ось вона задається лінійною функція. І площа, цільова функція в нас площа, вона залежно від того, які довжини сторін, вона може бути, вона є такою функцією. Ну, і рішення там, де ось воно тут знаходиться рішення: там, де

00:32:27 значення цільової функції попадає в ту область, яка задана обмеженнями. Ну, тут можна легко порахувати по цьому. Тут буде в даному випадку 4. 4 і 4. От, значення. Значення розв'язку. Прямокутник має бути в вигляді квадрату розміром 4 на 4. От воно, отут рішення. Це знаходиться. Це такий графічний спосіб розв'язування цієї задачі. Друга задача, більш цікавіша. Це та задача, з якою ви будете зустрічатися під час своїх досліджень. Це задача обробки отриманих експериментальних даних. І я тут взяв такий простий приклад. Значить, маємо

00:33:26 значення вхідних змінних, тобто ті, які визначають рішення Х одна вхідна зміна 0,025, 05, ось вона задана до двох, і задано одиниця і 2. при значенні х дорівню 0, і до рівні 1. Значення тієї функції, яка задає процес ось такий, в цьому стопці вони. Задання стоїть. Треба наблизити оцей результат, в залежності від вхідних змін, наблизити отакої квадратичної залежністю, двохвимірною. Ну, це квадратична залежність. Що невідомими є? Невідомими є коефіцієнти С1, С2, С3, наблизити оті дані при тих вхідних змінах таким чином, щоб була мінімальна похибка, щоб мінімізувати середньоквадратичне відхилення.

00:34:32 Ось воно задано тут, на тому слайді. Тобто ми беремо оцю функцію, якою ми наближаємо оці дані вихідні. Ми беремо оцю функцію. Ось вона тут є. І шукаємо такі коефіцієнти в цій невідомій функції. Отут, три коефіцієнти. Щоб середнє квадратичне відхилення, ось задана цільова функція, мінімізувати його. Ну, поки що суму квадратів беремо, а потім їх мінімізуємо. Тобто, мінімізувати відхилення між тією функцією, яку ми побудуємо, і тими даними, які є в цій таблиці. Це стандартна задача і, до речі, вона використовується також і для навчання нейронних мереж. Нейронна мережа має певну Архітектуру, реалізує певну функцію, нелінійну, і нам треба так цю нейронну мережу побудувати, щоб мінімізувати, знайти синоптичні ваги цієї заданої нейронної мережі, заданої архітектурою, щоб мінімізувати середнє квадратичне відхилення.

00:35:46 Ось вона написана задача. Тобто я беру сюди підставляю цю функцію. І в нас в результаті виходить задача оптимізації: мінімізувати оце середнє квадратичне відхилення. А як ми його мінімізуємо? Мінімізуємо за рахунок знаходження тих коефіцієнтів С1, С2, С3. Мінімізувати. Ось це задача нелінійного програмування без обмежень. Три змінних Обмежень на ті зміні немає. Це приклад простої задачі регресійного аналізу, наближення поверхні до вимірювальних даних. Це стандартна задача, яка вас буде виникати. І така ж задача виникає при навчанні нейронних мереж, зокрема. Ось ви бачите.

00:36:37 Ну, ще є приклад задач транспортування однієї тони хімікатів повинні проводитися в герметичних контейнерах. Ось наведено той контейнер, ось його Х1, Х2, Х3 - це довжина сторін. Умови будівництва контейнерів такі. Умови будівництва контейнерів такі. Матеріал для верньої поверхній коштує 30 доларів за метр квадратний, сторони А коштує 20 доларів за метр, сторони Б і нижня поверхня виготовлені з відходів, які нічого не коштують. Але можуть використовуватися лише в кількості 10 метрів квадратних на контейнер. Транспорт вартує 2 долари за контрет. Метою є мінімізація транспортних витрат.

00:37:38 Тобто треба так розробити, знайти оці поверхні того контейнера при тій вартості, щоб мінімізувати транспортні витрати. Ну і ось приклад, як математично ставиться ця задача. Вартість одного контейнеру. Ось вона тут розписана. Ну, множимо одну сторону на другу і вартість 20 доларів. Іншу сторону на іншу і вартість на 30 доларів. Кількість контейнерів становить. Це мається на увазі площа виходить. Одна 20 доларів, друга - 30 доларів. Кількість контейнерів. Визначаємо на одну тонну. Хімікатів нам треба тисячу поділити на об'єм того одного контейнера. Об'єм - це добуток трьох сторін, бо він є прямокутний.

00:38:39 Загальна вартість доставки складає ось формула, яка дає нам можливість оцінити вартість доставки. Обмеження, ясно, що всі сторони повинні бути додатні. Дальше обмеження оце задає в нашому випадку. В нашому випадку. Значить, 10 метрів на один обмеження матеріалу, 10 метрів квадратних на один контейнер. От воно задану. І ми формулюємо задачу: мінімізувати цільова функція, і от задані обмеження. Таким чином, маємо задачу. Так, шановні аспіранти, прошу, які маєте питання до мене. Може, по ваших задачах? Майте якісь питання?

00:39:38 Шановні аспірат, на це ваші висімо. Так, давайте три тижні поспілкуємося, тому що я так розказую понулого ви згадували МАТЛАП, згадували МАТЛАП АПИ. Хотів запитати, то університет має лицензію на неї? Ми використовуємо безкоштовну версію, матлам, безкоштовну версію для навчальних цілей. Тобто для професійних задач ми використовуємо продукти, які ми самі розробляємо. Якщо вас буде цікавити, то я вас познайомлю. У нас є розроблений на Сі Плас написаний програмний продукт, який розв'язує задачу оптимізації з використанням алгоритмів бджолиної колонії. Це наша розробка, яку може використовувати будь-який еспірант, якщо йому буде потрібно. З використанням технології розпаралелень. На базі куди.

00:40:41 Якщо у вас будуть складні оптимізаційні задачі, то ми можемо цей продукт використати. А матлап, я просто вам для навчальних цілей як класику розказую. Ви можете це використовувати для своїх дослідницьких задач, якщо вони не мають комерційного характеру. Так, зрозуміло, дякую. Так, прошу ще питання. Ну, шановні аспіранти, в процесі досліджень переважно вам прийдеться щось перепрошую, ліпити свого, бо ви будете розробляти, ви всі навчаєтеся на айтішних спеціальностях. Ви будете використовувати спеціальні програмні середовища. Навіть якщо ви будете там за допомогою штучного інтелекту генерувати якийсь код в Пайтоні, щоб порахувати свою задачу, будете використовувати стандартні бібліотеки, бездумно просто їх компілювати, не думаючи про фізику, я так буду взагалом говорити: фізику отриманого розв'язку - це шлях в нікуди.

00:41:53 Ви маєте розуміти, що ви підключаєте, як воно працює, чому воно дає такий розв'яз. От живий приклад, я вам розкажу з своєї історії. Коли я тільки стикався з задачами оптимізації, то на той час, це було багато років тому, були певні пакети прикладних програм, я розв'язував нелінійні задачі, не розуміючи глибоко, ну, скажімо так, як виглядає ота цільова функція, яку я побудував. І розв'язки завжди в мене виходили залежно від того, які я задаю початкові умови. Це зрозуміло. Тому що, якщо зараз, може, я тут маю якісь. Тут не маю в цій лекції слайди. Ви розумієте, що функція, навіть якщо візьмемо одну вимірну задачу, якщо вона має багато екстремуів, будь-який метод, який ви використовуєте, готовий чисельний метод, ви задаєте початкові умови, і ви завжди збігаєтеся в перший екстрему.

00:43:03 Це може бути є локальний мінімум. Насправді ви дивитеся просто розв'язок цієї задачі. І бачите, що навіть не використовуючи обчислювальні методи, що є кращий розв'язок, який забезпечує менше значення цієї функції. Ви не можете цього обґрунтувати. А чому не можете? Тому що ви використовуєте, ви не розумієте суті цільової функції, що вона має багато мінімум, багато екстремів. І чисельний метод, який є закладений в якомусь пакеті, він вимагає вибору початкових умов. Ви вибрали початкові умови, вона вам знайшла найближчий локальний мінімум. А насправді це ніякий не розв'язок задачі.

00:43:52 Тому я завжди наголошую на тому, що якщо ви проводите дослідження, ви повинні розуміти природу тої функції цільової, в якій якої ви працюєте. І легко інтерпретувати знайдені математично розв'язки на фізику задачі, на то, на розуміння, що ж ми знайшли, чому ми знайшли такі розв'язки? Тому, власне, і потрібно оце розуміння, про яке ми говоримо, власне, класики тих оптимізаційних задач. Що просто так, не розуміючи, взяти пакет, як чорна скринька, ми ж коли беремо підключаємо будь-яку бібліотеку, компілюємо в своєму коді, то це чорна скринька в певній мірі, і нам треба розуміти, як вона працює, як вона взаємодіє з тими іншими бібліотеками, і вміти інтерпретувати той розв'язок, який ви отримуєте.

00:44:57 А для оптимізаційних задач це обов'язково, тому що є поняття локальних мін. Оце найбільша проблема. Так, ще які є питання? Шановні, авто Петрович, в мене є швидке питання. Ви згадали, що можна буде поконсультуватись з вами і так далі. Чи правильно розумію, якщо десь в голові я собі трішки вималюю детальніше своє дослідження, тому що моя тема безпосередньо якраз стосується оптимізації, йдеться про розподіл людських ресурсів за певних обставин і обмежень. Чи можна буде якось окремо, наприклад, якщо у мене будуть певні не до кінця розуміння, які з методів можна взяти за основу, з вами окремо це попрацювати і як це можна зробити. Нема проблем. Я в межах курсу для мене цікавіше, не просто вам розказати про те, що в принципі відомі речі, а дати відповідь на ваші практичні запити.

00:46:03 Для мене це дуже важливо, тому що кожна робота, яка буде потім проходити через Ради наші разові, вона має бути добре обґрунтовані. І коли практично всі аспіранти до мене приходять, бо підписують і висновки, і економісти по різних спеціальностях, і для мене важливо зрозуміти, чи Ну, чи людина, яка виконала цю роботу, чи вона глибоко розуміє, що вона там робила. Бо може керівник сказати: От робіть так, так. Там результат, і все буде добре. Якщо людина має бажання це розібратися в цьому, зрозуміти, заглибитися, то це є, до речі, наша мета дисертації, бо

00:46:53 ніхто не збирається з вас робити тут - я не знаю, Ейнштейнів, винахідників світового рівня. Ви маєте просто розібратися в тій проблемі, яку вам поставили, і просто-напросто відкрити якісь елементи нових наукових знань. Нові знання, вони відкриваються. Вони можуть бути звичайно глобальними, може комусь вдасться щось таке знайти, яке там змінить певному напрямку технології. Але тут для мене важливо, щоб ви просто розуміли поставлену задачу, її математичне формулювання, бо без формалізації жодна задача не розв'язується. Тоді ви не можете претендувати на наукову новизну. Я часто дискутую з деякими молодими своїми колегами, я їм приходять з ідеєю і розказують: ми зробили так, так, так, отримали такий ефект.

00:47:54 Окей, це дуже добре. Це не нака, на жаль. Бо наука має поширюватися не тільки на той один випадок, а на багато таких випадків. Як це можна поширити? Якщо ви узагальнили якусь свою, от ви розказуєте, там розподіл ресурсів. І ви знайшли загальний підхід до оптимізації, до оптимального розподілу. Можливо, не такі, який є в класиці. Це вже є нові знання, тому що інші будуть використовувати для своїх ситуацій, для своїх задач, розподілу ресурсів, і вони використають такий самий підхід і отримують ефект. Позитивний ефект. Тобто мінімізують там, я не знаю, час

00:48:44 далі якість підвищить продукту, який ці ресурси створюють, то оце є наука, тут ніхто не збирається робити, я кажу, Енштейнів з вас, відкривати якісь там закони, наприклад, які відкриті були в загальній теорії відносності чи в спеціальній теорії відносності, ні, робота, вона має мати прагматичний диссертаційну робота має мати прагматичний характер. А саме, що на сьогоднішній день не влаштовує певне середовище, яке користується тим продуктом чи об'єктом, користується. Ви це знайшли. Чи можна це зробити відомими методами - покращити? Не можна. Що треба в тих методах змінити, чи в тих засобах, які це роблять, що треба змінити?

00:49:46 Ви це дослідили. І ви реалізували й дали інструмент, який дає можливість спереду задач не одну задачу розв'язати, бо одну задачу розв'язує інженер. Перед ним стоїть задача, він її бере, розв'язує. Як він розв'язує, це інше питання. Він не може обґрунтувати. Якщо інший це буде використовувати, то такий прийом не дасть ефекту. І це не наука, це чисто інженерна робота. А якщо ви шукаєте маєте, наприклад, якийсь універсальний інструмент для того, щоб розв'язати ту чи іншу задачу, ви маєте це обґрунтувати. Обґрунтування здійснюється процесом оптимізації, що от такі були умови, ви отримуєте таке, такі будуть умови, ви отримуєте таке, такі будуть умови, ви отримуєте таке. І це математичне, формальне представлення цієї задачі, воно дає можливість вам не проходити то

00:50:53 ті етапи, які робить кожен інженер, чи там достатнь Чи я не знаю, чи якщо це мова про продаж, йде, чи економіст, чи будь-яка особа. А ви даєте загальний план, який може бути поширений на всі. І ви це доводите, ви доводите формально в процесі розв'язування оптимізаційної задачі. От тому і полягає суть вашої роботи. Тому треба орієнтуватися в своїй роботі на прості рішення з одного боку, а з іншого боку, щоб вони мали певний універсалізм. Що вони мають, це дуже добре. Я вам скажу, що я нещодавно це не претендує на науковну везну, але як на винхід претендує. Я не щодавно побачив, як з шматка поліуретанового такого матеріалу роблять в'єтнамки.

00:51:59 Просто штампують, роблять певні вирізи і виходять в'єтнамки, в яких можна ходити. І це, я не скажу, що тут є якась наукова новина, але це є такий оригінальний винахід, який можна використовувати для, ну, скажімо так, це дуже потужно, бо це здешевлює суттєво виробництво виробництво такого простого взуття для різних компаній, для басейнів, для всяких. Воно коштує копійки, але універсальний підхід виготовлення дає можливість це використати. Так що давайте ще питання. Шановні аспіранти,

00:52:48 ну, якщо поки що питань немає, то давайте ми перейдемо до трішки матлап. Хто не знайомий, я так бігло, пробіжуся, і тоді ще раз з вами поспілкуємося. Ось зверніть увагу, середовище Матлап, якраз я тут показую, тут є це вікно воно стосується задання початкових умов. Це от якраз та задача, яка пов'язана із так. Задача, де задаються певні обмеження. Так, ну оце, наприклад, обмеження двох змінних: зліва, нижня межа, верхня межа. Так, зараз я можу десь щось більш конкретне. Ага, це якраз оця задача оптимізації. Про яку я вам говорив.

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

00:54:41 Короткий вступ до середовища МАТЛАК. МАТЛАБ, власне, до бібліотеки Оптимізай Тулбокс. Він містить функції і алгоритми для оптимізації лінійних та нелінійних функцій, коли цільові функції задаються, як лінійні та нелінійні, так само метод найменших квадратів, вони всі вміщають 24 бібліотечних функції. В цьому оптимізейшн тулбокс і реалізація вимагає створення М-файлу, що містить виклик процедури, головної функції обмежень і встановлення параметрів обчислюваної процедури. Ось є скрін, власне, розв'язування задачі на мінімізацію, на оптимізацію розмірів прямокутника. То, що я вам про це говорив.

00:55:44 Тут задаються вектор двох сторін. 0,0 - це нижнє значення верхня 5-5. Це є початкова точка, з якої починається оптимізація, то, що я вам казав, що завжди в чисельних методах мають задаватися початкові умови. Це є функція, цілюва, ось вона задана. Добутком двох двох тих сторін, і функція: а отут вже заданий критерій фін ко мінімізувати. Це і це є виклик головної процедури. В ту головну процедуру закидається оця функція, закидається обмеження в вигляді матриці Х, яка складається з початкових умов, обмеження, що я задав, і матриця, власне, ось вона а 2 на 2, ось вона тут задана, выгляди рівняния такого.

00:56:59 Дальше. Ось в вигляді рівняння оцього рівняння. 2, 2 і 2 - це матриця А. І обмеження 16. Це зміню. А множиться на х. Дех це розв'язки. І це має бути менше і рівне 16. Ось воно задано. Ось воно задано тут, в вигляді цієї матриці, і того Б. Це визначення обмежень. Ну і далі. Це як виглядає цей М-файл, який треба створювати для того, щоб потім можна було в Мотлабі шукати рішення оптимізаційно задачі. На цьому слайді ви бачите різні бібліотеки, які використовуються. Функції їх. Лекції вони є.

00:58:00 Отут є приклад, знову ж таки, цей даю, знову ж таки, даю вам скрін, як розв'язується ця задача. Другий ось розв'язок. Другий приклад от є тут є скрін, записаний код цієї оптимізаційної задачі. Ось він тут записаний. Ось він є записаний математично, а тут він внесений вже з обмеженнями, внесений вигляді М-файл, який основний виконання. От розв'язки цієї задачі, значення цільової функції і значення тих коефіцієнтів регресії 0,47, 1,1. Це значення регресії, яку ми шукаємо оці коефієнти, це для того, щоб наблизити дані в таблиці функцію цієї нелінійної.

00:59:05 Ну і те саме оптимізаційна задача, теж в МАТЛАП, я приклад удаю розв'язаний. І ну, можете собі зайти в МАТЛАП і попробувати це все ввести і подивитися, як працює. В принципі, все, що треба, я вам сьогодні коротенько розказав. Давайте, які питання у вас є? Шановні аспіранти, які вас є питання до мене? Виглядає, що питань нема. Якщо у вас є свої задачі, я готовий вам дати відповідь, коли ви будете, як підбирати методи і яким чином використати існуючі.