Научная статья на тему 'Компьютерное моделирование: задачи оптимизации'

Компьютерное моделирование: задачи оптимизации Текст научной статьи по специальности «Математика»

CC BY
1318
123
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по математике, автор научной работы — Рыбаков Даниил Сергеевич, Дергачёва Лариса Михайловна

В статье обсуждаются приемы построения компьютерной модели для задач оптимизации и методы их решения.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Computer modeling: optimization problems

The article presents the ways of computer models creation for optimization problems and methods of their solution.

Текст научной работы на тему «Компьютерное моделирование: задачи оптимизации»

КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ: ЗАДАЧИ ОПТИМИЗАЦИИ

Д.С. Рыбаков, Л.М. Дергачёва

Кафедра информатики и прикладной математики Московский городской педагогический университет 2-й Сельскохозяйственный пр., 4, 129226 Москва, Россия

В статье обсуждаются приемы построения компьютерной модели для задач оптимизации и методы их решения.

Компьютерное моделирование начинается обычно с объекта изучения, в качестве которого могут выступать явления, процесс, предметная область, жизненные ситуации, задачи. После определения объекта изучения строится модель. При построении модели выделяют основные, доминирующие факторы, отбрасывая второстепенные. Выделенные факторы перекладывают на понятный машине язык, строят алгоритм, программу.

Когда программа готова, проводят компьютерный эксперимент и анализ полученных результатов моделирования при вариации модельных параметров. И уже в зависимости от этих выводов делают нужные коррекции на одном из этапов моделирования: либо уточняют модель, либо алгоритм, либо точнее, корректнее определяют объект изучения.

Компьютерные модели проходят очень много изменений и доработок, прежде чем принимают свой окончательный вид.

В методе компьютерного моделирования присутствуют все важные элементы развивающего обучения и познания: конструирование, описание, экспериментирование и т.д. В результате добываются знания об исследуемом объекте-оригинале.

Однако важно не путать компьютерную модель (моделирующую программу) с самим явлением. Модель полезна, когда она хорошо согласуется с реальностью. Но модели могут предсказывать и те вещи, которые не произойдут, а некоторые свойства действительности модель может и не прогнозировать. Тем не менее полезность модели очевидна, в частности, она помогает понять, почему происходят те или иные явления.

Современное компьютерное моделирование выступает как средство общения людей (обмен информационными, компьютерными моделями и программами), осмысления и познания явлений окружающего мира (компьютерные модели солнечной системы, атома и т.п.), обучения и тренировки (тренажеры), оптимизации (подбор параметров).

Главной задачей компьютерного моделирования выступает построение информационной модели объекта, явления.

Самое главное и сложное в компьютерном моделировании — это построение или выбор той или иной модели.

Одним из наиболее интересных разделов компьютерного моделирования являются задачи оптимизации.

Задача оптимизации — целенаправленная деятельность, заключающаяся в получении наилучших результатов при соответствующих условиях.

Постановка задачи оптимизации предполагает существование конкурирующих свойств процесса, например:

- количество продукции — расход сырья;

- количество продукции — качество продукции;

Выбор компромиссного варианта для указанных свойств и представляет собой процедуру решения оптимизационной задачи.

При постановке задачи оптимизации необходимо:

1) наличие объекта оптимизации и цели оптимизации. Формулировка каждой задачи оптимизации должна требовать экстремального значения лишь одной величины, т.е. одновременно системе не должно приписываться два и более критериев оптимизации, так как практически всегда экстремум одного критерия не соответствует экстремуму другого.

Типичный пример неправильной постановки задачи оптимизации: «Получить максимальную производительность при минимальной себестоимости».

Ошибка заключается в том, что ставится задача поиска оптимальности двух величин, противоречащих друг другу по своей сути.

Правильная постановка задачи могла быть следующая:

а) получить максимальную производительность при заданной себестоимости;

б) получить минимальную себестоимость при заданной производительности;

В первом случае критерий оптимизации — производительность а во втором — себестоимость',

2) наличие ресурсов оптимизации, под которыми понимают возможность выбора значений некоторых параметров оптимизируемого объекта;

3) возможность количественной оценки оптимизируемой величины. Только в этом случае можно сравнивать эффекты от выбора тех или иных управляющих воздействий;

4) учет ограничений. Обычно оптимизируемая величина связана с экономичностью работы рассматриваемого объекта (аппарат, цех, завод). Оптимизируемый вариант работы объекта должен оцениваться какой-то количественной мерой, напри-емр критерием оптимальности.

Критерием оптимальности называется количественная оценка оптимизируемого качества объекта.

На основании выбранного критерия оптимальности составляется целевая функция, представляющая собой зависимость критерия оптимальности от параметров, влияющих на ее значение. Вид критерия оптимальности или целевой функции определяется конкретной задачей оптимизации.

Таким образом, задача оптимизации сводится к нахождению экстремума целевой функции.

В зависимости от постановки любая из задач оптимизации может решаться различными методами, и наоборот — любой метод может применяться для решения многих задач. Методы оптимизации могут быть скалярными (оптимизация проводится по одному критерию), векторными (оптимизация проводится по многим критериям), поисковыми (включают методы регулярного и методы случайного поиска), аналитическими (методы дифференциального исчисления, методы вариационного исчисления и др.), вычислительными (основаны на математическом про-

граммировании, которое может быть линейным, нелинейным, дискретным, динамическим, стохастическим, эвристическим и т.д.), теоретико-вероятностными, тео-ретико-игровыми и др. Подвергаться оптимизации могут задачи как с ограничениями, так и без них.

Линейное программирование представляет собой наиболее часто используемый метод оптимизации. К числу задач линейного программирования можно отнести задачи:

- рационального использования сырья и материалов;

- оптимизации раскроя;

- оптимизации производственной программы предприятий;

- оптимального размещения и концентрации производства;

- составления оптимального плана перевозок, работы транспорта;

- управления производственными запасами;

- многие другие, принадлежащие сфере оптимального планирования.

Так, по оценкам американских экспертов, около 75% общего числа применяемых оптимизационных методов приходится на линейное программирование. Около 1Л машинного времени, затраченного в последние годы на проведение научных исследований, было отведено решению задач линейного программирования и их многочисленных модификаций.

В настоящее время линейное программирование является одним из наиболее употребительных аппаратов математической теории оптимального принятия решения. Для решения задач линейного программирования разработано сложное программное обеспечение, дающее возможность эффективно и надежно решать практические задачи больших объемов. Эти программы и системы снабжены развитыми системами подготовки исходных данных, средствами их анализа и представления полученных результатов.

В развитие и совершенствование этих систем вложен труд и талант многих математиков, собран опыт решения тысяч задач. Владение аппаратом линейного программирования необходимо каждому специалисту в области математического программирования. Линейное программирование тесно связано с другими методами математического программирования (например, нелинейного программирования, где целевая функция нелинейна).

Задачи с нелинейной целевой функцией и линейными ограничениями называют задачами нелинейного программирования с линейными ограничениями. Оптимизационные задачи такого рода можно классифицировать на основе структурных особенностей нелинейных целевых функций. Если целевая функция Е — квадратичная функция, то мы имеем дело с задачей квадратичного программирования; если Е — это отношение линейных функций, то соответствующая задача носит название задачи дробно-линейного программирования, и т.д. Деление оптимизационных задач на эти классы представляет значительный интерес, поскольку специфические особенности тех или иных задач играют важную роль при разработке методов их решения.

Основным способом решения является симплекс-метод. Универсальность применения метода связана с природой самих задач, ведь оптимизация заключается в максимизации или минимизации значения какой-либо целевой функции (например, максимизация прибыли (дохода) или минимизация затрат) в условиях выполнения различных ограничений (например, по количеству или стоимости доступных ресурсов).

Современные методы линейного программирования достаточно надежно решают задачи общего вида с несколькими тысячами ограничений и десятками тысяч

переменных. Для решения сверхбольших задач используются уже, как правило, специализированные методы.

COMPUTER MODELLING: OPTIMIZATION PROBLEMS

D.S. Rybakov, L.M. Dergacheva

The Department of Computer Science and Applied Mathematics Moscow Citv Pedagogical University 2nd Selskohozyayistvennyi st., 4, 129226 Moscow, Russia

The article presents the ways of computer models creation for optimization problems and methods of their solution.

i Надоели баннеры? Вы всегда можете отключить рекламу.