Використання методу найшвидшого спуску (градієнтний метод) при знаходженні розв'язку СЛАР в середовищі Delphi

Градієнтний метод (метод найшвидшого спуску) зазвичай використовується для оптимізації функції, тобто для визначення її максимального і мінімального значення. Проте, сьогодні розглянкмо delphi-проект, який викорисовуючи алгоритм даного методу знаходить розв'язок системи лінійних алгебраїчних рівнянь (СЛАР) (детальний опис та блок-схему для програмної реалізації можна знайти за посиланням Метод найшвидшого спуску (градієнтний метод) для випадку системи лінійних рівнянь).

Після запуску проекту на екрані монітора комп'ютера з'являється головне вікно, яке складається з наступних елементів: панель інструментів — містить кнопки управління; блок вводу даних, який містить розширену матрицю системи; блок виводу розв'язку (міститься в нижній частині головного вікна проекту).

Головне відно програми "Розв'язок СЛАР градієнтним методом"

Головне вікно програми "Метод найшвидшого спуску (градієнтним методом)" для випадку СЛАР

Читати повністю

Метод найшвидшого спуску (градієнтний метод) для випадку системи лінійних рівнянь

Нехай потрібно знайти чисельний розв'язок системи лінійниз рівнянь Розв'язок СЛАР методом найшвидшого спуску використовуючи метод найшвидшого спуску (градієнтний метод). Для цього, систему (1) перепишемо у наступному вигляді:

Розв'язок СЛАР методом найшвидшого спуску

або в матрично-векторній формі Розв'язок СЛАР методом найшвидшого спуску, де metod_najshvudshogo_spysky_slar4 — матриця коефіцієнтів при невідомих системи (1); Розв'язок СЛАР методом найшвидшого спуску — вектор-стовпець вільних члені; metod_najshvudshogo_spysky_slar6 — вектор-стовпець невідомих.

Читати повністю

Розв'язок системи лінійних рівнянь матричним методом (метд оберненої матриці) в середовищі Delphi

Знаходження розв'язку системи лінійних рівнянь за матричним методом (метод оберненої матриці) вимагає виконання наступних кроків:

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

Далі  розглянемо delphi-проект, який використовуючи даний алгоритм знаходить рішення системи лінійних алгебраїчних рівнянь. Головна форма проекту складається з панелі інструментів (містить кнопкe «Розв'язати систему рівнянь» — реалізує алгоритм матричного методу; кнопку «Очистити матрицю»; компонент SpinEdit з допомогою якого задаєм розмірність матриці). Під панеллю інструментів міститься розширена матриця (компонент StringGrid), тобто матриці, останній стовпець якої містить стовпець вільних членів системи. І в нижній частині форми розташований статусний рядок, в який виводиться результат виконання програми.

Читати повністю

Знаходження розв'язку системи лінійних рівнянь використовуючи метод оберненої матриці

Нехай маємо систему метод оберненої матриці лінійних алгебраїчних рівнянь з метод оберненої матриці невідомими Метод оберненої матриці:

Метод оберненої матриці

Для зручності систему (1) запишемо у матрично-векторній формі Метод оберненої матриці, де Метод оберненої матриці — матриця, елементами якої є коефіцієнти при невідомих системи (1), Метод оберненої матриці — вектор-стовпець вільних членів, Метод оберненої матриці — вектор-стовпець невідомих. Далі, при умові, що визначник матриці Метод оберненої матриці відмінний від нуля (Метод оберненої матриці), переходимо до обчислення елементів оберненої матриці Метод оберненої матриці.

Читати повністю

Рішення системи лінійних рівнянь з симетричною матрицею коефіцієнтів засобами Delphi використовуючи метод квадратного кореня

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

Отже, приступимо до розв'язку конкретної задачі використовуючи програму «Метод квадрітного кореня». Для цього, запустивши delphi-проекту на виконання бачимо, що від користувача вимагається задати розмірність системи, ввести матрицю коефіцієнтів при невідомих та стовпець вільних членів.

Читати повністю

Знаходження розв'язку системи лінійних рівнянь використовуючи метод квадратного кореня

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

Метод квадратного кореня

де Метод Квадратного кореня. Процес відшукання розв'язку за даним методом складається з двох етапів. Перший етап (прямий хід): виходячи з того, що Метод квадратного кореня — симетрична матриця, то її можна представити у вигляді добутку двох взаємно транспонованих між собою трикутних матриць: Метод квадратного кореня, де

Метод квадратного кореня

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

Читати повністю

Перехід від одного плану перевезень в транспортній задачі до іншого використовуючи цикл перахунку

Перерозподіл перевезень в транспортній задачі з метою поліпшення рішення відбувається по циклу (відомий як цикл перерахунку). Даний цикл в транспортній таблиці являє собою сукупність клітинок, з'єднаних замкнутою ламаною лінією, яка в кожній клітинці робить поворот на 90 градусів, і обов'язковою вимогою є те, що в кожному рядку і кожному стовпці, по яких проходить цикл, повинно бути дві і тільки дві вершини. Також слід відмітити, що кожен цикл перерахунку складається з парного числа вершин, одна з яких міститься у вільній клітинці, а інші — у заповнених. Якщо відрізки ламаної лінії перетиноються, то точка перетину вершиною не вважається. Для кожної вільної клітини можна побудувати цикл перерахунку і при чому єдиний.

Графічне представлення циклу перерахунку

Графічне представлення можливих конфігурацій циклу перерахунку

Читати повністю