- •1, 4, 7. Решение нелинейных уравнений
- •2.Транспортная задача линейного программирования
- •9. Файловый ввод-вывод
- •12. Системный анализ
- •17.Смешанные, стратегии в матричных играх. Основная теорема матричных игр.
- •18. Моделювання випадкових факторів.
- •19. Первая интерполяционная формула Ньютона.
- •20. Числові характеристики випадкових величин.
- •21. Моделирование параллельных процессов.
- •22(19,25). Наближення функцій. Задача інтерполяції.
- •23. Математичне сподівання випадкової величини, його властивості та формули для обчислювання.
- •26. Булева алгебра
- •27. Класифікація моделей.
- •28. Численное дифференцирование .
- •30. Полиморфизм
- •31. Численное интегрирование.
- •32. Канонічні форми булевих функцій, способи побудови канонічних форм
- •33. Наследование
- •36.Об'єктно - орієнтоване програмування та його головні принципи
- •40. Методи розв'язування задачі Коші системи звичайних диференціальних рівнянь. Метод Ейлера. Методи типу Рунге-Кутта. Методи з вибором кроку інтегрування.
- •Розв’язування систем однорідних рівнянь з сталими коефіцієнтами методом Ейлера.
- •41. Методи спрощення булевих функцій
- •42. Процедури та функції. Призначення процедур та функцій. Формальні та фактичні параметри. Глобальні та локальні дані. Параметри значення і параметри змінні.
- •43. Методи розв'язування крайових задач системи звичайних диференціальних рівнянь. Різницеві схеми для рівнянь другого порядку. Методи прогонки.
- •44. Повні системи булевих функцій та базиси.
- •45. Використання стеку для організації рекурсивних обчислень.
- •46. Общая задача линейного программирования
- •50. Двійковий пошук на впорядкованій множині.
- •51. Динамічні структури даних. Стеки. Черги.
- •52. Симплекс-перeтворення. Симплекс-метод.
- •53. Алгоритми сортування.
- •54. Динамічні структури даних. Списки.
- •55. Теорема двоїстості. Двоїстий критерій оптимальності. Двоїстий симплекс-метод.
- •56. Керування подіями. Програмування обробки подій.
- •Виды событий.
- •События от мышки.
- •События от клавиатуры.
- •События сообщений.
- •"Пустые" события.
- •Передача событий.
- •57. Вказівники. Розподіл динамічної пам’яті.
- •58. Транспортна задача лінійного програмування. Методи знаходження початкового базисного розв'язку.
- •6.2. Умова існування розв'язку транспортної задачі
- •59. Математичне моделювання і диференціальні рівняння.
- •60. Мови програмування та їх класифікація
- •61. Транспортна задача лінійного програмування. Метод потенціалів.
- •6.2. Умова існування розв'язку транспортної задачі
- •6.3. Метод потенціалів
- •6.3.1. Алгоритм методу потенціалів складається з таких етапів.
- •6.3.2. Методи побудови опорного плану тз
- •Метод північно-західного кута
- •62.Задачі і методи математичного моделювання і системного аналізу. Приклади математичних моделей для детермінованих і випадкових процесів(див. 18).
- •63. Реляційна модель бази даних.
- •65. Моделювання процесів керування у живій природі біологічних, екологічних, процесів автоматизованого керування.
- •66. Інформаційна модель концептуального рівня. Основні поняття. Еволюція концепції бази даних. Типи запитів.
55. Теорема двоїстості. Двоїстий критерій оптимальності. Двоїстий симплекс-метод.
Теорема 1. (Первая основная теорема двойственности.) Если одна из двойственных задач имеет оптимальное решение, то двойственная ей задача также имеет оптимальное решение, причем экстремумы целевых функций равны, т.е. .
Если одна из двойственных задач не имеет оптимального решения, то другая задача также не имеет оптимального решения, причем если одна из задач не имеет оптимального решения из-за неограниченности целевой функции, то другая из-за несовместности системы ограничений.
Вторая теорема двойственности для несимметричных двойственных задач сформулируется так:
Теорема 2. (Вторая основная теорема двойственности.) Для того чтобы допустимые решения и несимметричной пары двойственных задач были соответственно оптимальными решениями, необходимо и достаточно, чтобы для любого j выполнялось равенство
Доказательство.
Необходимость. Дана несимметричная пара двойственных задач: найти наибольшее значение функции
при ограничениях:
Двойственная задача: найти наименьшее значение функции
при ограничениях:
где yi свободны по знаку, .
Пусть и - оптимальные решения соответствующих задач, тогда по первой теореме двойственности , или
Подставим вместо получим
В правой части поменяем местами знаки суммирования, получим:
Перенесем все в левую часть и вынесем за скобки общий множитель :
По условию и , т.е. сумма неположительных слагаемых равна 0, а это возможно только тогда, когда каждое слагаемое равно нулю, т.е.
Достаточность. Предположим, что для допустимых решений и несимметричной пары двойственных задач выполняются равенства
Просуммируем это равенство по всем j и проведем преобразования, противоположные предыдущим:
Следовательно, и оптимальные решения соответствующих двойственных задач.
Первый критерий оптимальности
Решение оптимально тогда и только тогда, когда существует решение
такое, что
Доказательство. Необходимость следует из первой теоремы двойственности.
Достаточность следует из достаточного условия оптимальности.
Второй критерий оптимальности
Чтобы допустимые решения х, у пары двойственных задач (I), (II) были оптимальны, необходимо и достаточно, чтобы выполнялись УДН.
Критерий разрешимости задачи ЛП
Точной верхней гранью (супремумом) функции L(х) на множестве D называется такое число М*, что
56. Керування подіями. Програмування обробки подій.
Поскольку сущность объектно-ориентированного программирования в конечном счете сводится к обмену сообщениями между взаимодействующими объектами, события должны занимать определенное место в этой схеме. В каком-то отношении они нормально вписываются в нее: объект-источник отправляет сообщение, которое указывает на возникновение события.
Но при этом возникает очевидная проблема: каким объектам следует отправлять сообщения? Оповещать о каждом событии все объекты, в настоящий момент существующие в программе? Это было бы слишком неэффективно. Для большийства объектов событие не представляет ни малейшего интереса, а быстродействие станет неприемлемо низким.
Вместо этого VB .NET пытается ограничить число получателей события, для чего используется модель «подписка/публикация». В этой модели объекты-приемники событий регистрируют объекты-источники тех событий, которые представляют для них интерес. На события от одного источника могут подписаться сразу несколько объектов-приемников. О том, что источник инициировал событие, оповещаются только зарегистрированные получатели.
Впрочем, реализовать подобную схему не так просто. Какие сообщения должны передаваться приемнику от источника? Как организовать их отправку? Что должно происходить при получении сообщения? Как говорилось выше, взаимодействие между объектами на базе обмена сообщениями строится на вызове методов класса-приемника. В конечном счете обработка событий строится по тому же принципу, но при этом приходится учитывать ряд дополнительных тонкостей.
Общий смысл происходящего заключается в том, что при возникновении события объект-источник вызывает заранее определенные функции объектов-приемников. Вызываемая функция приемника регистрируется источником события одновременно с регистрацией объекта-приемника. Такая схема называется оповещением посредством обратного вызова (callback notification), потому что источник события вызывает метод приемника по заранее известному ему адресу. На рис. 6.1 показан объект-«начальник» с событием HighRating, при возникновении вызываются разные методы объектов-приемников. Во второй половине этой главы будет рассказано, как это происходит в VB .NET.