Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
ЛЕКЦИЯ № 1
Литература к курсу лекций
Г. Реклейтис, А. Рейвиндран, К. Рэгсдел "Оптимизация в технике" 1 том, Москва, "Мир", 1986 год.
, , "Курс методов оптимизации", изд-во "Наука", 1986 год.
"Численные методы", 1 том, изд-во "Наука", 1975 год.
Основные понятия
В чем заключается математическое моделирование? В том, что есть некоторый технологический процесс, который требует детального исследования или изучения. Необходимо выяснить, как ведет себя система в тех или иных условия. Что надо для этого сделать? Необходимо построить математическую модель, описывающую этот технологический процесс; разработать программу, которая бы имитировала поведение системы и провести расчеты при различных начальных условиях. Полученные результаты, сравнить, исследовать, выявить закономерности и получить ответ на все интересующие вас ответы. Однако при решении этой задачи могут возникнуть следующие вопросы: а правильную ли модель вы построили, а точно ли она считает, а как быстро она считает и т. д. Для того, чтобы ответить на все эти вопросы, рассмотрим основные этапы математического моделирования:
Формулировка проблемы (задачи);
Построение математической модели;
Разработка вычислительного метода;
Разработка интерфейса системы;
Сбор данных;
Проверка адекватности модели;
Интерпретация результатов.
Формулировка проблемы. Это один из самых главных этапов математического программирования, поскольку от этого этапа зависит, какую задачу вы будете решать. Если вы неправильно сформулируете проблему, то и результат будет совсем не таким, какой вы ожидали получить. При формулировке проблемы вы должны знать суть вашей задачи, для чего она решается и какие результаты предполагается получить. Вы должны определить, можно ли представить вашу проблему в виде отдельных подпроблем, т. е. можно ли разбить исходную задачу на подзадачи и решать их либо параллельно, либо последовательно исследовать эти подзадачи независимо друг от друга. Или же вашу задачу необходимо решать целиком, не разбивая на подзадачи.
Кроме этого, на этом этапе важно уделить внимание следующим вопросам: легко ли будет потом откорректировать входную информацию, структуру модели и прочее. Все это очень важно при формулировке проблемы. После составления общей схемы модели необходимо определить размерность вашей задачи, управляемые переменные, неуправляемые переменные, а также технологические показатели системы, которые будут входить в вашу модель.
Построение модели. Что понимается под моделью? Модель описывает взаимосвязи между управляемыми переменными задачи, неуправляемыми переменными и технологическими параметрами.
Если говорить математическим языком, то модель - это упрощенное математическое представление системы.
В самом общем представлении структура модели включает основные уравнения системы (например, материальный, тепловой или энергетический баланс), уравнения, описывающие физические процессы, протекающие в системе. Эти уравнения, как правило, дополняются неравенствами, которые определяют область допустимых значений переменных.
Поэтому другими словами можно сказать, что модель - это некоторый набор уравнений и неравенств, которые определяют взаимосвязь между переменными системы и ограничивают область допустимых изменений переменных.
Основные этапы построения модели:
Определение размерности задачи. Этот этап является первым этапом построения модели и связан с определением переменных исследуемой задачи, которые необходимо учитывать. Очень часто размерность задачи заранее задана, а иногда она при вычислительном эксперименте может изменяться. Необходимо точно знать заранее о размерности задачи (заданная она или может изменяться), чтобы корректно заложить эти данные в модель (например, размерность задачи может рассматриваться в качестве управляемой переменной).
Определение управляемых переменных. Этот этап заключается в определении переменных, которые могут изменяться. Необходимо разделить переменные на заданные и те, которые можно изменять.
Пример: Если вам необходимо получить химический состав определенного качества, то переменные, отвечающие за количества веществ, необходимых для этого состава, и будут управляемыми переменными. Поскольку, можно будет изменять количество того или иного вещества для получения определенного состава. Все это можно будет просчитать на модели, а потом уже полученные данные использовать для реального эксперимента.
Определение неуправляемых переменных. На этом этапе построения модели необходимо учесть все переменные, которые не могут изменяться в процессе моделирования, но которые оказывают влияние на поведение модели (например, случайные поломки, непредвиденные обстоятельства и т. д.).
Определение технологических параметров системы. Необходимо учесть все технологические параметры, входящие в вашу систему. Практически любой технологический процесс описывается рядом констант и параметров, которые определяют предельные значения переменных и соотношения между ними. Нельзя забывать про эти параметры при построении модели.
Итак, после проведения этапов построения модели ваша модель может иметь следующий вид (однако, это очень простой пример модели)
пусть ci - управляемая величина, ui - неуправляемая величина и pk - технологический параметр или константа, то решение задачи yn есть:
yn = f (ci, uj, pk).
Разработка вычислительного эксперимента. Одновременно с построением модели необходимо выбрать или разработать численный метод решения задачи. Для этого необходимо выяснить существующие методы решения поставленной задачи и подходят ли они к решению вашей задачи (эффективны ли они, точны ли они и т. д.), т. е. можно ли его использовать или необходимо разрабатывать свой метод решения задачи. Затем, если ваша задача раскладывается на несколько подзадач, то вопрос о выборе метода решения относится к каждой подзадаче. Затем, в идеале, вы проверяете предлагаемый методы решения на задачах небольшой размерности. Этот этап должен подтвердить правильность предлагаемой модели и предлагаемых методов решения. После этого вы проверяете свою модель и свои методы на задачах большой размерности (если это необходимо для вашей системы).
Иными словами, необходимо выяснить, какие нужно сделать допущения и какой метод разработать для эффективного решения поставленной задачи.
Разработка интерфейса системы. После того, как закончен вычислительный эксперимент, вам необходимо собрать все ваши методы решения в единое целое. Разработать интуитивно понятный интерфейс вашей системы. Т. е. необходимо разработать такую систему, чтобы любой человек, знающий физический процесс, мог сесть и свободно промоделировать этот процесс, не спрашивая разработчика о том, какие данные для этого надо ввести. Кроме этого, система должна выдавать понятный специалисту результат решения задачи.
Сбор данных. На этом этапе осуществляется сбор реальных данных моделируемого технологического процесса. Если на предыдущих этапах сбор информации осуществлялся для формулирования задачи, построения модели. То на этом этапе проводится сбор данных для проведения моделирования реального технологического процесса. Необходимо уделить огромное внимание точности используемых данных при проведении моделирования.
Проверка адекватности модели. На этом этапе решается две задачи: необходимо определить способы проверки адекватности модели и осуществить эту проверку. На первой фазе выбираются аналитические и экспериментальные методы для проверки непротиворечивости, чувствительности, реалистичности и работоспособности модели. Для осуществления этой проверки требуются данные, собранные на предыдущем этапе математического моделирования.
Непротиворечивость. Необходимо проверить дает ли модель не противоречивые логике результаты работы при различном изменении управляемых переменных, особенно в тех случаях, когда эти значения близки к предельно допустимым значениям переменных. Т. е. вы смотрите поведение вашей модели при различных начальных входных данных. Если ваша модель не выдает противоречивые результаты работы, то, значит, ваша модель построена правильно.
Чувствительность. На этом этапе вы проверяете насколько чувствительна ваша модель к изменениям управляемых переменных. Иной раз бывает так, что построенная модель работает только при определенных начальных условиях или очень близких к этим начальным условиям. В данном случае модель является чувствительной к начальным условиям, что очень часто означает то, что модель построена не совсем корректно. Поэтому этот этап проверки адекватности модели является важным этапом.
Реалистичность. Необходимо проверить, корректно ли работает ваша модель в каких-то конкретных случаях, которые вам известны. Например, вы знаете, что введя такие-то и такие-то количества вещества, вы получите вот такой-то состав. Введя эти данные в вашу модель, вы должны получить такой же состав. Или же определить процент возможной ошибки.
Работоспособность. Необходимо проверить легко ли провести моделирование технологического процесса на вашей модели, как быстро это проходит и как точно. Как много знаний вашей системы необходимо иметь.
Интерпретация результатов. Необходимо сравнить предложенную вами модель с уже имеющимися моделями, показав, что ваша модель более точная, более гибкая к изменениям. Вычисления не занимают много времени. Интерфейс системы интуитивно понятный и оформлен на языке специалистов технологических процессов. Коме того, результаты моделирования выдаются на языке, понятном специалисту технологического процесса.
Пример формализации задачи. Пусть у нас имеется различный товар (уголь, кирпич, картофель, капуста и т. д.), который хранится на различных базах. Этот товар требуется в определенном количестве в различных пунктах. При этом на каждой базе имеется свой запас товара. Нам известна стоимость перевозки единицы (например, тонны) товара с каждой базы в каждый пункт. Необходимо удовлетворить все пункты товаром, не забывая про запас на базах, так, чтобы затраты на перевозки были как можно меньше.
Обозначим:
m - количество баз; n - количество пунктов; ai - запас товара на i-той базе
bj - потребность товара в j-том пункте;
cij - стоимость перевозки единицы товара с i-той базы в j-тый пункт
xij - количество товара, перевозимого с i-той базы в j-тый пункт
![]()
;
;
![]()
Рассмотрим конкретный пример. Пусть у нас есть три базы. На одной базе хранится кирпич, на второй – цемент, на третьей – песок. Пусть есть 4 пункта, в которые мы поставляем наш товар. При этом стоимость перевозки одной тонны кирпича составляет в первый пункт 200 руб., во второй – 250 руб., одной тонны цемента – во второй пункт 500 руб., во третий – 520 руб., в четвертый – 550 руб., одной тонны песка – 300 руб. Еще известно, что в первый пункт нам необходимо доставить не более 20 тонн кирпича, во второй пункт – не более 15 тонн кирпича и 10 тонн цемента. В третий пункт нам необходимо доставить не более 30 тонн цемента, а в четвертый пункт – не более 10 тонн цемента и 30 тонн песка. Запас кирпича составляет 40 тонн, цемента – 60 тонн, песка – 50 тонн. Необходимо формализовать задачу.

Решение.
Тогда математическая запись нашей задачи имеет вид:
![]()
при этом надо учесть, что
,
, ![]()
, ![]()
![]()
или

при ограничениях

![]()


