Теория:
В современном мире проводить дорогостоящие или опасные эксперименты (например, испытание ядерного оружия или запуск ракеты) в реальности не всегда возможно или разумно. На помощь приходит моделирование.
Компьютерно-математическое моделирование — это процесс изучения реального объекта (явления, процесса) с помощью создания его математической модели и последующего исследования этой модели на компьютере.
Объект моделирования: всё, что нас окружает (планеты, самолёты, экономика страны, эпидемия гриппа).
Математическая модель: описание объекта на языке формул и уравнений.
Компьютер: инструмент, который позволяет решать эти уравнения, когда это невозможно сделать вручную.
LibreOffice Calc — это мощный и доступный инструмент для реализации компьютерно-математических моделей. Почему именно электронные таблицы?
Наглядность: данные и результаты организованы в удобные таблицы.
Автоматизация расчётов: формулы пересчитываются мгновенно при изменении исходных данных.
Визуализация: встроенные средства построения диаграмм и графиков.
Анализ: специальные инструменты позволяют исследовать поведение модели при различных условиях.
Автоматизация расчётов: формулы пересчитываются мгновенно при изменении исходных данных.
Визуализация: встроенные средства построения диаграмм и графиков.
Анализ: специальные инструменты позволяют исследовать поведение модели при различных условиях.
Модель в Calc — это набор взаимосвязанных ячеек: одни содержат исходные данные (параметры), другие — расчётные формулы, третьи — результаты.
Этапы компьютерно-математического моделирования
Процесс моделирования в электронных таблицах, как и в общем случае, проходит несколько обязательных этапов.
Этап \(1\). Постановка задачи
Здесь мы определяем цель моделирования, объект исследования и исходные данные.
Что мы хотим получить? (Например, максимальную прибыль, траекторию полёта, оптимальный рацион.)
Какие параметры известны? (Начальные условия, константы.)
Какие параметры можно изменять? (Управляющие переменные.)
Какие ограничения существуют? (Ресурсы, время, физические законы.)
Что мы хотим получить? (Например, максимальную прибыль, траекторию полёта, оптимальный рацион.)
Какие параметры известны? (Начальные условия, константы.)
Какие параметры можно изменять? (Управляющие переменные.)
Какие ограничения существуют? (Ресурсы, время, физические законы.)
Этап \(2\). Разработка модели
Этот этап включает создание формальной (математической) модели и её реализацию в электронных таблицах.
Математическая модель: описание задачи на языке формул и уравнений.
Например, целевая функция прибыли: \(L = 16*x1 + 14*x2 → max.\)
Математическая модель: описание задачи на языке формул и уравнений.
Например, целевая функция прибыли: \(L = 16*x1 + 14*x2 → max.\)
Компьютерная модель в Calc
Создаётся структура таблицы: отдельно вводятся константы, изменяемые переменные, формулы.
В ячейки вводятся формулы, связывающие исходные данные и результаты.
Используются встроенные функции: математические, статистические, логические, финансовые.
Этап \(3\). Тестирование модели
Проверка работоспособности и адекватности модели.
Тестирование на частных случаях: подставляются значения, для которых результат известен заранее (например, при нулевой скорости движение отсутствует).
Проверка формул: убеждаемся, что ссылки на ячейки верны, а формулы соответствуют математической модели.
Визуальная проверка: построенный график должен соответствовать ожидаемому поведению (линейный рост, экспонента и т. д.).
Тестирование на частных случаях: подставляются значения, для которых результат известен заранее (например, при нулевой скорости движение отсутствует).
Проверка формул: убеждаемся, что ссылки на ячейки верны, а формулы соответствуют математической модели.
Визуальная проверка: построенный график должен соответствовать ожидаемому поведению (линейный рост, экспонента и т. д.).
Этап \(4\). Компьютерный эксперимент
Исследование модели путём изменения входных параметров. Calc предоставляет для этого мощные инструменты.
Простое варьирование: ручное изменение значений в ячейках.
Таблицы подстановки: автоматический расчёт результатов для целого диапазона значений одного или двух параметров.
Подбор параметра: поиск конкретного значения входного параметра, при котором результат достигает нужной величины.
Решатель (Solver): инструмент для решения задач оптимизации — поиска максимального, минимального или точного значения целевой функции при заданных ограничениях.
Простое варьирование: ручное изменение значений в ячейках.
Таблицы подстановки: автоматический расчёт результатов для целого диапазона значений одного или двух параметров.
Подбор параметра: поиск конкретного значения входного параметра, при котором результат достигает нужной величины.
Решатель (Solver): инструмент для решения задач оптимизации — поиска максимального, минимального или точного значения целевой функции при заданных ограничениях.
Этап \(5\). Анализ результатов моделирования
Интерпретация полученных данных и проверка их достоверности. Анализ графиков и таблиц. Сравнение с реальными данными или теоретическими ожиданиями. Формулировка выводов. При неудовлетворительных результатах — возврат к одному из предыдущих этапов для уточнения модели.
В каждой научной области модели позволяют проводить виртуальные эксперименты там, где реальные были бы невозможны, опасны или слишком дороги.
Физика
Моделирование движения тел в гравитационном поле. Расчёт траекторий планет, спутников или баллистических ракет на основе законов Ньютона. Компьютер решает дифференциальные уравнения, учитывая силы тяготения и возмущения, чтобы предсказать положение объекта в любой момент времени.
Модель ядерного реактора. Имитация цепной реакции деления ядер урана. Расчёт распределения потока нейтронов, выделения тепла и изменения состава топлива. Используется для проектирования безопасных режимов работы АЭС без строительства дорогостоящих стендов.
Моделирование электрических цепей (SPICE-симуляторы). Расчёт токов и напряжений в сложных схемах, содержащих транзисторы, диоды и микросхемы. Позволяет инженерам отладить работу устройства (например, процессора компьютера) до его физического изготовления.
Экономика
Модель оценки инвестиционных рисков (VaR — Value at Risk). Статистическая модель, использующая исторические данные о колебаниях цен (акций, валют). Метод Монте-Карло (многократная случайная генерация сценариев) позволяет банку оценить максимальные убытки, которые он может понести с заданной вероятностью.
Модель ценообразования опционов (Блэка — Шоулза). Математическая формула, реализованная в торговых терминалах, для справедливой оценки производных финансовых инструментов. Позволяет трейдерам хеджировать риски и спекулировать на ожиданиях.
Информатика
Моделирование вычислительных сетей (например, в NS-\(3\) или Cisco Packet Tracer). Создание виртуальной копии сети из компьютеров, коммутаторов и маршрутизаторов. Проверяется маршрутизация трафика, тестируется устойчивость к атакам до развёртывания реального оборудования.
Моделирование систем массового обслуживания (СМО). Имитация работы очередей: вызовов в кол-центре, запросов к веб-серверу или процессов в операционной системе. Позволяет рассчитать, сколько касс нужно открыть или какой мощности процессор поставить, чтобы очередь не росла бесконечно.
Биология
Моделирование сворачивания белков (фолдинг). Компьютерный расчёт трёхмерной структуры белка на основе его аминокислотной последовательности. Понимание формы белка критически важно для создания новых лекарств.
Модель распространения эпидемии (SIR-модель). Деление популяции на группы: восприимчивые (S) — инфицированные (I) — выздоровевшие (R). Система дифференциальных уравнений позволяет прогнозировать пик заболеваемости и оценивать эффективность карантинов и вакцинации (актуально при COVID-\(19\)).