"Информатика (в 2-х частях)", Горячев А.В., Островский С.Л., Паволоцкий А.В., Семёнов А.А., Чернышёва Т.Л., Широков Д.В.
Моделирование помогает представить реальный объект или процесс в упрощённом виде, а оптимизация — выбрать среди допустимых вариантов лучший. Для этого составляют математическую модель: вводят переменные, записывают зависимости, ограничения и целевую функцию. Затем вычисляют возможные решения, сравнивают их и проверяют, можно ли применить найденный результат в реальной ситуации.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Модель — упрощённое представление объекта или процесса, сохраняющее его существенные свойства для изучения. Например, схема движения транспорта не показывает цвет машин, но отражает маршруты. Модель нужна, чтобы исследовать ситуацию проще и безопаснее, чем сам реальный объект.
Математическая модель — описание объекта или процесса с помощью переменных, формул, уравнений и неравенств. Переменные обозначают неизвестные величины, а формулы связывают их между собой. Такая модель позволяет выполнять расчёты и проверять разные варианты.
Оптимизация — поиск наилучшего допустимого решения по выбранному критерию. Нужно не просто найти подходящий вариант, а сравнить варианты и выбрать самый выгодный или самый экономичный. Критерием может быть прибыль, стоимость, время, расход материала и другая величина.
Целевая функция и ограничения — целевая функция задаёт, что нужно максимизировать или минимизировать, а ограничения описывают допустимые решения. Например, прибыль можно максимизировать, но количество изделий ограничено запасом сырья. Эти элементы превращают жизненную ситуацию в точную задачу выбора.
Модель отбрасывает второстепенные свойства, потому что они не влияют на поставленную задачу. Если нужно рассчитать стоимость поездки, важны тариф и расстояние, а цвет автобуса не нужен. Чем точнее модель выделяет существенные факторы, тем проще расчёт и тем понятнее результат.
Перевод реальной ситуации в математическую модель начинают с выбора переменных. Затем записывают зависимости между ними, ограничения ресурсов или условий и критерий оценки результата. Например, для производства переменные могут обозначать количество изделий, формула — общую прибыль, а неравенства — расход материала и рабочего времени.
Оптимизационная задача обязательно включает множество допустимых решений, потому что не каждый математически возможный вариант можно осуществить. Количество товара не может быть отрицательным, расход не должен превышать запас, а поставка должна покрывать спрос. После отбора допустимых вариантов появляется смысл сравнивать их по целевой функции.
Компьютер может перебрать варианты, вычислить значение целевой функции для каждого из них или применить специальный алгоритм оптимизации. В табличном процессоре задают изменяемые ячейки, формулу результата и ограничения. Программа находит лучший вариант, но одновременно проверяет только те условия, которые пользователь правильно внёс в модель.
Результат моделирования сопоставляют с реальной ситуацией, потому что математический ответ может оказаться бессмысленным на практике. Нужно проверить целые ли получились количества, не перепутаны ли единицы и выполнены ли все исходные условия. Если результат не подходит, ищут ошибку в данных или уточняют саму модель.
| Элемент модели | Что задаёт | Вопрос, на который отвечает |
|---|---|---|
| Переменные | Неизвестные величины, которые можно изменять | Что именно выбираем? |
| Целевая функция | Показатель, который нужно максимизировать или минимизировать | Что считаем лучшим? |
| Ограничения | Условия, которым должны удовлетворять переменные | Какие варианты разрешены? |
| Допустимое решение | Конкретные значения переменных, не нарушающие ограничений | Можно ли реализовать этот вариант? |
| Оптимальное решение | Лучшее допустимое решение по целевой функции | Какой разрешённый вариант самый выгодный? |
Таблицу удобно использовать как проверочный список при построении модели. Если не удаётся ответить на один из вопросов, задача ещё не описана полностью. Сначала находят допустимые решения, а затем среди них выбирают оптимальное.
Пусть вариант A включает 3 тетради по 40 рублей и 2 ручки по 20 рублей. Вариант B включает 2 тетради по 45 рублей и 3 ручки по 15 рублей. Нужно выбрать вариант с меньшей общей стоимостью.
Ответ: вариант B, его стоимость равна 135 рублям.
Предприятие выпускает изделия двух видов: x и y. На одно изделие x требуется 2 единицы материала и 1 час работы, на изделие y — 1 единица материала и 2 часа работы; запасы составляют 100 единиц материала и 80 часов, а прибыль равна 40 и 30 рублей соответственно.
Ответ: следует выпустить 40 изделий первого вида и 20 изделий второго вида; максимальная прибыль — 2200 рублей.
Склад A имеет 40 единиц товара, склад B — 30, а магазины X, Y и Z требуют 30, 25 и 15 единиц. Стоимости перевозки единицы товара с A в магазины равны 4, 6 и 5, а с B — 7, 3 и 4 условных единицы. Требуется покрыть весь спрос и минимизировать стоимость доставки.
Ответ: найденный план перевозок имеет минимальную стоимость 265 условных единиц при заданных данных.
Считать оптимальным любое допустимое решение — ошибка, если не указан критерий сравнения. Её допускают, когда путают слова «подходит» и «лучший». Проверьте себя: сформулируйте, что именно нужно максимизировать или минимизировать.
Забыть ограничение или поставить неверный знак — значит разрешить нереализуемые варианты. Например, запись x ≥ 100 вместо x ≤ 100 полностью меняет смысл условия. Подставьте найденные значения во все исходные неравенства и проверьте каждое отдельно.
Подмена переменных конкретными числами до построения модели лишает задачу возможности сравнивать варианты. Такое происходит, когда сразу выбирают первый кажущийся подходящим план. Оставляйте переменные неизвестными до тех пор, пока не запишете зависимости и ограничения.
Нельзя без проверки принимать результат программы. Ошибочные исходные данные, единицы измерения или формулы дадут формально правильный, но бессмысленный ответ. Пересчитайте целевую функцию вручную и сопоставьте результат с реальными условиями.
До изучения темы нужны навыки работы с переменными, формулами, уравнениями и неравенствами, а также понимание координатных зависимостей. Электронные таблицы помогают хранить данные, строить формулы и автоматизировать сравнение вариантов. Эти знания служат основой для составления математических моделей.
Дальше оптимизация встречается в алгоритмах и программировании, где компьютер ищет решение по заданным правилам. Она применяется в исследовании операций, планировании ресурсов и анализе данных. Поэтому умение формализовать условие полезно не только в школьных задачах.
Чем математическая модель отличается от обычного описания объекта?
Обычное описание может быть словесным и включать множество свойств объекта. Математическая модель выделяет только существенные свойства и выражает их с помощью переменных, формул, уравнений и неравенств.
Можно ли назвать оптимальным решение, которое нарушает одно из ограничений?
Нет, такое решение недопустимо. Сначала отбрасывают все варианты, нарушающие хотя бы одно ограничение, и только потом выбирают лучший.
Как выбрать целевую функцию в задаче?
Нужно определить, какой результат требуется получить: максимальную прибыль, минимальную стоимость, кратчайшее время или другой показатель. Именно этот показатель и записывают как целевую функцию.
Зачем проверять результат, если его вычислила программа?
Программа выполняет заданные вычисления, но не может исправить неверно составленную модель. Поэтому нужно проверить ограничения, единицы измерения и соответствие решения исходной ситуации.
Всегда ли у оптимизационной задачи существует единственное решение?
Нет. Иногда решений нет, если ограничения противоречат друг другу, а иногда несколько вариантов дают одинаково лучший результат. Единственное решение появляется только при определённых условиях задачи.
§ 9. Оптимизация и моделирование