Вибачте, будь ласка, довге запитання, для того, щоб перейти до фактичної проблеми, йому просто потрібно пояснення. Ті, хто знайомий із згаданими алгоритмами, ймовірно, можуть перейти безпосередньо до першого таблола симплексу.
Для вирішення найменших задач на абсолютне відхилення (ака -оптимізація), алгоритм Барродал-Робертса - це симплексний метод спеціального призначення, який потребує набагато менших зусиль для зберігання та обчислень, щоб знайти відповідний мінімум.
Моя реалізація алгоритму завершується на простому прикладі до досягнення належного мінімуму. Однак, напевно, дозвольте спочатку сформулювати цю проблему більш детально:
Наведені дані , -оптимізація намагається знайти що мінімізує
Барродейл і Робертс запропонували (очевидно широко використовувану) модифікацію симплексного методу, яка докорінно спрощує симплексний метод за допомогою спеціальної структури -проблеми. Найголовніше - це те, що оптимальне рішення принаймні інтерполюєданих точок даних. Ті, хто має доступ до Jstor, можуть знайти відповідну статтю тут .
Лей та Андерсон у 2002 р. Запропонували невелику модифікацію, яка повинна підвищити числову стійкість і, отже, подолати відомі проблеми алгоритму симплекса.
В основному, цей алгоритм передбачає, що ви починаєте з заданого набору точок, які необхідно інтерполювати, використовуйте задані процедури для побудови симплексної таблиці, а потім використовуйте правила Барродейла і Робертса, щоб вирішити, на основі яких змінних змінюватись, і тому змінювати набір точок даних, який є приблизним.
Барродайл і Робертс наводять невеликий приклад, який я намагався відтворити. Він намагається наблизити бали за функцією . Закінчують свій алгоритм наступною стислою симплекс-таблицею:
Найголовніше, що перший і третій пункт інтерполюються і загальна помилка дорівнює . Вони роблять висновок, що
Оскільки всі неосновні вектори мають непозитивні граничні витрати [...]
ітерація закінчена і досягнуто оптимального.
Якщо я використовую алгоритм Лея та Андерсона, я можу відтворити цю симплексну таблицю для інтерполяційного набору {1,3}, як і очікувалося. Однак якщо я запускаю алгоритм із набору (що явно не є оптимальним), я отримую таку симплексну таблицю:
Хоча цей результат мене спантеличує. Якщо я правильно розумію цитату вище, відсутність позитивних граничних витрат означає, що досягнуто оптимального. Значення функції приблизно 2,33, звичайно, не є оптимальним. Обмін з дав би результат, який знаходиться нарівні з рішенням Барродейла та Робертса, а тому оптимальним.
Додаткова інформація: Якщо я розпочну з початкової таблиці, наданої Барродейлом та Робертсом, я також можу відтворити таблицю вище звичайними симплексними кроками, таким чином, я досить впевнений, що фактичні числові значення є правильними та моя інтерпретація правила вибору стрижнів несправна.
Будь-які думки з цього приводу?
Я усвідомлюю, що саме питання є досить складним і, ймовірно, вимагає знання принаймні алгоритму Барродейла та Робертса, щоб відповісти достатньо. Алгоритм в цілому полягає в тому, щоб довго його повторювати тут повністю. Однак якщо у вас є додаткові запитання щодо кроків, зроблених мною, або щодо відсутніх фрагментів інформації, не соромтесь запитати, і я з радістю доповнюю питання.