![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Экономика и Финансы
Экономико-математическое моделирование
Линейное программирование как метод оптимизации |
СодержаниеВведение 1. Общая постановка задачи линейного программирования (ЛП) 2. Приведение задачи линейного программирования к стандартной форме 3. Примеры экономических задач, приводящихся к задачам ЛП 4. Геометрический метод решение задач ЛП 5. Симплексный метод решения задач ЛП 6. Теоремы двойственности и их использование в задачах ЛП 6. Транспортная задача и её решение методом потенциалов Заключение Литература ВведениеВ настоящее время оптимизация находит применение в науке, технике и в любой другой области человеческой деятельности. Оптимизация - целенаправленная деятельность, заключающаяся в получении наилучших результатов при соответствующих условиях. Поиски оптимальных решений привели к созданию специальных математических методов и уже в 18 веке были заложены математические основы оптимизации (вариационное исчисление, численные методы и др.). Однако до второй половины 20 века методы оптимизации во многих областях науки и техники применялись очень редко, поскольку практическое использование математических методов оптимизации требовало огромной вычислительной работы, которую без ЭВМ реализовать было крайне трудно, а в ряде случаев - невозможно. Постановка задачи оптимизации предполагает существование конкурирующих свойств процесса, например: · количество продукции - расход сырья · количество продукции - качество продукции Выбор компромиcсного варианта для указанных свойств и представляет собой процедуру решения оптимизационной задачи. При постановке задачи оптимизации необходимо: 1. Наличие объекта оптимизации и цели оптимизации. При этом формулировка каждой задачи оптимизации должна требовать экстремального значения лишь одной величины, т.е. одновременно системе не должно приписываться два и более критериев оптимизации, т.к. практически всегда экстремум одного критерия не соответствует экстремуму другого. Приведем примеры. Типичный пример неправильной постановки задачи оптимизации: &quo ;Получить максимальную производительность при минимальной себестоимости&quo ;. Ошибка заключается в том, что ставится задача поиска оптимальности 2-х величин, противоречащих друг другу по своей сути. Правильная постановка задачи могла быть следующая: а) получить максимальную производительность при заданной себестоимости; б) получить минимальную себестоимость при заданной производительности; В первом случае критерий оптимизации - производительность, а во втором - себестоимость. 2. Наличие ресурсов оптимизации, под которыми понимают возможность выбора значений некоторых параметров оптимизируемого объекта. 3. Возможность количественной оценки оптимизируемой величины, поскольку только в этом случае можно сравнивать эффекты от выбора тех или иных управляющих воздействий. 4. Учет ограничений. Обычно оптимизируемая величина связана с экономичностью работы рассматриваемого объекта (аппарат, цех, завод). Оптимизируемый вариант работы объекта должен оцениваться какой-то количественной мерой - критерием оптимальности. Критерием оптимальности называется количественная оценка оптимизируемого качества объекта. На основании выбранного критерия оптимальности составляется целевая функция, представляющая собой зависимость критерия оптимальности от параметров, влияющих на ее значение.
Вид критерия оптимальности или целевой функции определяется конкретной задачей оптимизации. Таким образом, задача оптимизации сводится к нахождению экстремума целевой функции. В зависимости от своей постановки, любая из задач оптимизации может решаться различными методами, и наоборот - любой метод может применяться для решения многих задач. Методы оптимизации могут быть скалярными (оптимизация проводится по одному критерию), векторными (оптимизация проводится по многим критериям), поисковыми (включают методы регулярного и методы случайного поиска), аналитическими (методы дифференциального исчисления, методы вариационного исчисления и др.), вычислительными (основаны на математическом программировании, которое может быть линейным, нелинейным, дискретным, динамическим, стохастическим, эвристическим и т.д.), теоретико-вероятностными, теоретико-игровыми и др. Подвергаться оптимизации могут задачи как с ограничениями, так и без них. Линейное программирование - один из первых и наиболее подробно изученных разделов математического программирования. Именно линейное программирование явилось тем разделом, с которого начала развиваться сама дисциплина &quo ;математическое программирование&quo ;. Термин &quo ;программирование&quo ; в названии дисциплины ничего общего с термином &quo ;программирование (т.е. составление программ) для ЭВМ&quo ; не имеет, так как дисциплина &quo ;линейное программирование&quo ; возникла еще до того времени, когда ЭВМ стали широко применяться при решении математических, инженерных, экономических и др. задач. Термин &quo ;линейное программирование&quo ; возник в результате неточного перевода английского &quo ;li ear programmi g&quo ;. Одно из значений слова &quo ;programmi g&quo ; - составление планов, планирование. Следовательно, правильным переводом &quo ;li ear programmi g&quo ; было бы не &quo ;линейное программирование&quo ;, а &quo ;линейное планирование&quo ;, что более точно отражает содержание дисциплины. Однако, термин линейное программирование, нелинейное программирование и т.д. в нашей литературе стали общепринятыми. Итак, линейное программирование возникло после Второй Мировой Войны и стал быстро развиваться, привлекая внимание математиков, экономистов и инженеров благодаря возможности широкого практического применения, а так же математической &quo ;стройности&quo ;. Можно сказать, что линейное программирование применимо для построения математических моделей тех процессов, в основу которых может быть положена гипотеза линейного представления реального мира: экономических задач, задач управления и планирования, оптимального размещения оборудования и пр. Задачами линейного программирования называются задачи, в которых линейны как целевая функция, так и ограничения в виде равенств и неравенств. Кратко задачу линейного программирования можно сформулировать следующим образом: найти вектор значений переменных, доставляющих экстремум линейной целевой функции при m ограничениях в виде линейных равенств или неравенств. Линейное программирование представляет собой наиболее часто используемый метод оптимизации.
К числу задач линейного программирования можно отнести задачи: рационального использования сырья и материалов; задачи оптимизации раскроя; оптимизации производственной программы предприятий; оптимального размещения и концентрации производства; составления оптимального плана перевозок, работы транспорта; управления производственными запасами; и многие другие, принадлежащие сфере оптимального планирования. Так, по оценкам американских экспертов, около 75% от общего числа применяемых оптимизационных методов приходится на линейное программирование. Около четверти машинного времени, затраченного в последние годы на проведение научных исследований, было отведено решению задач линейного программирования и их многочисленных модификаций. Первые постановки задач линейного программирования были сформулированы известным советским математиком Л.В. Канторовичем, которому за эти работы была присуждена Нобелевская премия по экономике. Значительное развитие теория и алгоритмический аппарат линейного программирования получили с изобретением и распространением ЭВМ и формулировкой американским математиком Дж. Дансингом симплекс-метода. В развитие и совершенствование этих систем вложен труд и талант многих математиков, аккумулирован опыт решения тысяч задач. Владение аппаратом линейного программирования необходимо каждому специалисту в области математического программирования. Линейное программирование тесно связано с другими методами математического программирования (например, нелинейного программирования, где целевая функция нелинейная). Задачи с нелинейной целевой функцией и линейными ограничениями называют задачами нелинейного программирования с линейными ограничениями. Оптимизационные задачи такого рода можно классифицировать на основе структурных особенностей нелинейных целевых функций. Если целевая функция Е - квадратичная функция, то мы имеем дело с задачей квадратичного программирования; если Е - это отношение линейных функций, то соответствующая задача носит название задачи дробно-линейного программирования, и т.д. Деление оптимизационных задач на эти классы представляет значительный интерес, поскольку специфические особенности тех или иных задач играют важную роль при разработке методов их решения. 1. Общая постановка задачи линейного программирования (ЛП)Задача линейного программирования (ЛП) состоит в нахождении минимума (или максимума) линейной функции при линейных ограничениях. Общая форма задачи имеет вид: найти при условияхГдеЗдесь и далее нам удобнее считать с и аі вектор - строками, а x и b= (b1,.,bm) - вектор столбцами. Наряду с общей формой широко используются также каноническая и стандартная формы. Как в канонической, так и в стандартной формет.е. все переменные в любом допустимом решении задачи должны принимать неотрицательные значения (такие переменные принято называть неотрицательные в отличие от так называемых свободных переменных, на область значений которых подобное ограничение не накладывается). Отличие же между этими формами состоит в том, что в одном случае I2 = 0, а в другом - I1 = 0. Задача ЛП в канонической форме: (2.1
Компиляторы Metaware High C и Computer Innovations C86Plus выполняют более-менее удовлетворительную степень оптимизации, но отступают на второй план при рассмотрении усовершенствований, сделанных в технологии компиляторов фирмами Datalight, Microsoft и WATCOM. Нет единственного производителя, который захватил бы на рынке область технологии оптимизации для компиляторов Си. Конкуренция на рынке подталкивает производителей к развитию технологии и к обеспечению разработчиков лучшими и более мощными средствами языка Си. В будущем это может означать появление оптимизирующих компиляторов, которые будут вырабатывать более быстрый и компактный код. ЛИСТИНГ 1: OPTBENCH.C /* ---------------------------------------------------------- * V V V Серия тестов PC Tech Journal V V Тест оптимизации кода Си V V V V Copyright (c) 1988 Ziff-Devis Publishing Company V V V V Эта программа-тест была разработана для проверки V V методов оптимизации кода, применяемых компилятором V V Си. Она не вырабатывает разумные результаты и не V V представляет хороший стиль программирования
1. Определение оптимального плана замены оборудования
2. Бизнес-план: поставка рогов и копыт коровьих в Ханты-Мансийский автономный округ
3. Определение оптимальной цены
5. Определение оптимального объема производства продукции
9. Решение задачи оптимального управления
10. Определение оптимальных показателей работы автомобильного транспорта по всему парку
11. Определение оптимального объема производства в условиях производственного предприятия
12. Определение оптимального объёма производства продукции на предприятии
13. Определение оптимальных складских запасов
14. Решение военно-логистических задач по выбору оптимального маршрута для военно-транспортных средств
15. Решение транспортной задачи методом потенциалов
16. Определение точного коэффициента электропроводности из точного решения кинетического уравнения
17. Определение основных показателей плана экономического и социального развития на 2001 год
18. Приложения определенного интеграла к решению некоторых задач механики и физики
20. План-конспект урока Математическое моделирование при решении экологических задач
21. Приложения определенного интеграла к решению некоторых задач механики и физики
25. Принятие оптимальных решений в условиях неопределенности
27. Поставка рогов и копыт: бизнес-план
28. Основные принципы решения транспортной задачи
32. Демографические проблемы России и пути их решения в плане обеспечения национальной безопасности
33. Определение параметров транспортного потока на регулируемом перекрестке
34. Решение транспортной задачи с правильным балансом
35. Методы решения транспортных задач
36. Определение активности ферментов
37. Определение параметров детонации заряда ВВ
41. Транспортный комплекс России
42. Деятельность международных организаций ООН в решении глобальной продовольственной проблемы
43. Геодезия и картография. Создание топографических карт и планов масштаба 1:5000
44. Создание топографического плана местности
45. Инженерно-геологические изыскания для определения характеристик грунтов и оснований
46. Государственный бюджет, как экономическая категория и основной финансовый план Украины
47. Нормативное регулирование перемещения через таможенную границу транспортных средств
48. Государственный долг России: проблемы и решения
49. Договор поставки в предпринимательской деятельности
50. Договор поставки
52. Определения суда первой инстанции
53. Реализации генерального плана "Ост" на территории Белоруссии
57. Неправомерное завладение автомобилем или иным транспортным средством без цели хищения
58. Решение задач по курсу "семейное право"
59. Правовые нормы: определение, признаки, виды
60. Мои профессиональные планы после окончания учебного заведения
62. Культура, природа, человек. Проблемы и пути их решения
63. Субстанционные определения в повести Паустовского "О жизни"
64. Николай II. Время трудных решений
65. Программы и планы действий Декабристов
68. Разработка методов определения эффективности торговых интернет систем
69. Sportster Voice 28.8 Инсталляция & Проблемы и решения
73. Программа и План - сопоставительный анализ
74. Билеты, решения и методичка по Информатике (2.0)
76. Решение математических задач в среде Excel
77. Системы принятия решений, оптимизация в Excel и базы данных Access
78. Краткие сведения о электронных таблицах. Решение уравнения
81. Решение задач - методы спуска
82. Решение систем дифференциальных уравнений методом Рунге-Куты 4 порядка
83. Основные определения и теоремы к зачету по функциональному анализу
84. Алгоритм компактного хранения и решения СЛАУ высокого порядка
85. Теория игр и принятие решений
89. Построение решения задачи Гурса для телеграфного уравнения методом Римана
91. Методы решения систем линейных неравенств
92. Решение задач линейного программирования
94. Решение задачи линейного программирования
95. Алгебраическое и графическое решение уравнений, содержащих модуль
96. Существование решения дифференциального уравнения и последовательные приближения
97. Решение задач на построение сечений многогранников
98. Решение дифференциальных уравнений 1 порядка методом Эйлера
99. Метод Алексея Юрьевича Виноградова для решения краевых задач
100. Графы. решение практических задач с использованием графов (С++)