АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Выходные аргументы

Читайте также:
  1. IV. Аргументы
  2. IV. Аргументы
  3. IV. Аргументы
  4. А выходные характеристики системы являются зависимыми (эндогенными) переменными и в векторной форме имеют вид
  5. Аргументы в пользу протекционизма
  6. Аргументы и их влияние на эффективность общения
  7. АРГУМЕНТЫ ПРОТИВ РЕДУКЦИОНИЗМА
  8. Аргументы против социальной ответственности
  9. Аргументы финансовых функций Excel анализа инвестиций
  10. Аргументы финансовых функций Excel анализа ценных бумаг
  11. Аргументы «за» и «против» социальной ответственности
  12. Аргументы «за» и «против» страхования валютных рисков

Пример

Найти вектор x, который минимизирует функцию

f (x) = –5 x 1 – 4 x 2 –6 x 3,

при ограничениях

x 1x 2 + x 3 ≤ 20
3 x 1 + 2 x 2 + 4 x 3 ≤ 42
3 x 1 + 2 x 2 ≤ 30
0 ≤ x 1, 0 ≤ x 2, 0 ≤ x 3.

Во-первых, введем коэффициенты

f = [-5; -4; -6]A = [1 -1 1 3 2 4 3 2 0];b = [20; 42; 30];lb = zeros(3,1);

Затем вызовем функцию:

[x,fval,exitflag,output,lambda] = linprog(f,A,b,[],[],lb);

В результате получим x, lambda.ineqlin, и lambda.lower

x = 0.0000 15.0000 3.0000 fval = -78.0000 lambda.ineqlin = 0 1.5000 0.5000lambda.lower = 1.0000 0 0

Из возвращенной информации следует:

· Что оптимальное решение x=[0,15,3];

· Минимальное значение целевой функции равно -78;

· Вычисления завершились нахождением решения (exitflag > 0);

· Всего было выполнено 6 итераций;

· Был использован алгоритм lipsol.

Ненулевые элементы векторов в структуре lambda означают активные ограничения в решении. В нашем примере второе и третье ограничения (в lambda.ineqlin) и первое ограничение (в lambda.lower) являются активными ограничениями, т.е. удовлетворяются как равенства и решение достигается на границе этих ограничений..

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

 

Входные аргументы:

problem f Linear objective function vector f
Aineq Matrix for linear inequality constraints
bineq Vector for linear inequality constraints
Aeq Matrix for linear equality constraints
beq Vector for linear equality constraints
lb Vector of lower bounds
ub Vector of upper bounds
x0 Initial point for x, active set algorithm only
solver 'linprog'
options Options structure created with optimset

Выходные аргументы

Ниже приведены значения аргументов exitflag, lambda, и output.:

exitflag Целое, определяющее причину, по которой алгоритм остановлен.
  1 Function converged to a solution x.
  0 Number of iterations exceeded options.MaxIter.
  -2 No feasible point was found.
  -3 Problem is unbounded.
  -4 NaN value was encountered during execution of the algorithm.
  -5 Both primal and dual problems are infeasible.
  -7 Search direction became too small. No further progress could be made.
lambda Структура, содержащая множители Лагранжа решения (separated by constraint type). Полями структуры являются:
  lower Lower bounds lb
  upper Upper bounds ub
  ineqlin Linear inequalities
  eqlin Linear equalities
output Структура, содержащая информацию об оптимизации. Полями структуры являются:
  iterations Number of iterations
  algorithm Optimization algorithm used
  cgiterations 0 (large-scale algorithm only, included for backward compatibility)
  constrviolation Maximum of constraint functions
  message Exit message

 


Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)