русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Решение задач линейного программирования


Дата добавления: 2015-07-23; просмотров: 995; Нарушение авторских прав


Цель работы

 

Ознакомиться с классом задач, решаемых методом линейного программирования, научиться составлять выражения для целевой функции и использовать возможности пакета MathCAD для нахождения ее экстремума.

 

Методические указания

 

Имеется широкий (и жизненно важный) класс задач, в которых приходится что-то оптимизировать (расходы, прибыль, наибольший объем продукции, минимальные издержки производства), при этом необходимо учитывать ограничения (доходы, дефицитность ресурсов – машин, людей, сырья, топлива, зарплаты). Приведем следующий пример:

После часа пик (зимнее утро, к примеру) расход электроэнергии падает и необходимо снижать нагрузку электрогенераторов. Как это делать? Можно отключить отдельные турбогенераторы, а можно оставить их в работе, изменив нагрузку. Диспетчер энергосистемы дает соответствующие команды, ориентируясь на средний расход топлива по системе, выброс с дымовыми газами вредных веществ в атмосферу, износ оборудования, степень готовности электростанций и дальше менять нагрузку и т.д. Переменные такой оптимизации могут быть и вещественными (мощность отдельного энергоблока, которая меняется, естественно, в разумных пределах, определяемых техническими условиями – ограничения в задаче) и целочисленными (число работающих блоков).

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

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

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



Рассмотрим пример составления целевой функции и решения задачи линейного программирования.

Пусть судно имеет грузоподъемность 12 тыс. т и вместимость 20 тыс. м3. Для перевозки предложено 4 типа грузов, характеристики которых приведены в табл. 13.


Таблица 13.

 

Код груза Погрузочный объем, м3 Фрахтовые ставки на перевозку, у.е./т[8]
1.4 13.5
1.6 16.0
1.9 18.0
2.3 21.0

 

По своим техническим характеристикам судно может перевозить грузы 1 и 3 суммарным объемом не более 12 тыс. м3, а грузы 2 и 4 – суммарным объемом не более 15 тыс. м3. Также задана обязательная минимальная перевозка груза типа 4 в количестве 3 тыс. т.

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

Математическая модель задачи и ее решение проведено в следующем MathCAD документе:

 


Отметим, что:

- Решение задачи может зависеть от выбора начального приближения;

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

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



<== предыдущая лекция | следующая лекция ==>
Решение дифференциальных уравнений численными методами | Задание на лабораторную работу


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 4.193 сек.