русс | укр

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

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

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

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


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

Многомерная минимизация при наличии ограничений.


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


 

 

7.1. Линейное программирование.

 

 

Задачами линейного программирования называются оптимизационные задачи, в которых ограничения представляются в виде равенств или неравенств, целевая функция линейна, все переменные хj удовлетворяют условию не отрицательности хj ³0. Линейное программирование представляет собой наиболее часто используемый метод оптимизации ( 74% от общего числа применяемых оптимизационных методов ).

7.1.1.Постановка задач линейного программирования.

Задача минимизации функции n переменных ¦(x)=(x1,…, xn) на некотором множестве Х Еn не совпадающая со всем пространством Еn и заданном с помощью ограничений (равенств и неравенств ) на координаты хj (j=1:n) точки хÎEn называется задачей математического программирования. При этом функцию ¦(х) называют целевой функцией, а множество Х- допустимым множеством.

Вначале дадим определение математического программирования. Математическое программирование-это область математики, разрабатывающая теорию и численные методы решения многомерных задач с ограничениями, т.е. задач на экстремум функции многих переменных с ограничениями на область изменения этих переменных. Одной из таких задач является задача линейного программирования, состоящая в минимизации линейной целевой функции ¦(х)=¦(х1,…, хn)=cj xj на множестве ХÌEn заданном системой линейных ограничений (равенств или неравенств ) на координаты xj ( j=1:n).

Задача линейного программирования формулируется следующим образом.

Среди точек х=(х1,…,хnEn, удовлетворяющихограничениям:

аij xj =bi,i=1:l; (7.1)

 

аijxj£ bi , i=(l+1):m; (7.2)

xj³0 (7.3)

 

найти те, в которых функция

¦(х)=cj xj

принимает минимальное значение, и определить это значение. Это общая или произвольная форма записи.



Отметим, что в условии задачи линейного программирования могут содержаться неравенства и противоположного, чем в (7.2), знака, однако такие неравенства легко сводятся к виду (7.2) умножением на -1.

Если в условии задачи линейного программирования не содержаться ограничения- равенства (7.1), то эта форма записи называется симметричной или стандартной.

Если в условии задачи линейного программирования не содержаться ограничения-неравенства (7.20), то есть в (7.1) l=m, то она называется задачей линейного программирования в каноническом (основном) виде.

Ограничения – неравенства

преобразуются в ограничения-равенства путем прибавления (вычитания) к левым частям дополнительных (балансовых) переменных хn+i ≥0, i=(l+1):m. Ограничения-неравенства (7.2) можно записать в виде равенств:

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

 

f(x)= (7.4)

аij xj =bi , i=1:m, (7.5)

xj ≥0. (7.6)

Если переменная хn не подчинена условию неотрицательности, то ее следует заменить двумя неотрицательными переменными и , приняв хn=-, ≥0, ≥0.

Часто используется векторная записьзадачи (7.3)…(7.5):

f(x)=(c,x)min,

Ax=b, (7.7)

х≥0,

где х=(х1,…, хn)т– векторнезависимых переменных, с=(с1,…, сn)т – вектор коэффициентов целевой функции из (7.3), А=( аij) - прямоугольная матрица размера m´n, b=(b1,…,bm)т- вектор правых частей (ограничений) системы (7.4), а х³0-краткая запись условий неотрицательности (7.3).

Ограничения вида хj ≥0 или хj£0, или dj£xj£pj (двусторонние ограничения) для всех или некоторых j (j=1,2,...,n) называют прямыми ограничениями на переменные. Методы решения задач линейного программирования построены, как правело, с учетом вида прямых ограничений.

Задача линейного программирования, которая имеет допустимые решения (т.е. система ограничений совместна) называется допустимой; задача с несовместной системой ограничений – недопустимой.

Совокупность чисел х=(х1,…,хn) удовлетворяющих ограничениям задачи (7.1)…(7.2) называется допустимым решением (или планом).

План х*=(х1*,…,хn*), при котором целевая функция задачи (7.3) принимает свое минимальное (максимальное) значение называется оптимальным.

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

Чтобы имело смысл говорить об отыскании оптимального плана задачи система (7.1)…(7.3) должна быть совместна и иметь не единственное неотрицательное решение. Это возможно в случае, если ранг r системы (число линейно независимых уравнений) меньше числа неизвестных n(r<n), при r=n – система допускает единственное решение, и вопрос о выборе оптимального решения отпадает. Случай r>n вообще невозможен.

Пример 7.1. Привести к канонической форме следующие задачи линейного программирования:

а) f(x)=6х1+5х2 min

 

Решение. Заменяем функцию f(x) на . Из левых частей ограничений типа ≥ вычитаем неотрицательные переменные х3, х4, ,х5, к левым частям ограничений типа ≤ прибавляем неотрицательные переменные х6, х7. Получаем модель задачи в канонической форме:

 

б) f(x)=2х1-3х2 +5х3-х4 max

 

 

 

Решение. Эта задача не является канонической из-за того, что не от всех переменных требуется неотрицательность. Представим переменные х2, х4 в виде разностей , , где . Подставляя эти разности в значение функции и ограничения, получим каноническую задачу:

f(x)=2х1-3() +5х3 - max

 



<== предыдущая лекция | следующая лекция ==>
Метод Ньютона – Рафсона. | Основные факты теории двойственности.


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


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

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

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


 


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

 
 

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

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