主要内容

La traducción de esta página está obsoleta。Haga clic aquí para ver la última versión en inglés。

linprog

Resuelva问题programación线性

Descripcion

解算器programación线性

事故mínimo特别问题

最小值 x f T x 这样 一个 x b 一个 e x b e l b x u b

fxb说真的y乌兰巴托子向量y一个yAeq子矩阵。

背板

linprogSe applica únicamente al enfoque basado en solvers。Para ver una exposición sobre los dofoques de optimización, consulte卢格入门,埃利亚·埃恩福克·巴萨多的问题埃尔·埃恩福克·巴萨多的解决者

比如

x= linprog (f一个bResuelve el mínimo def ' * x形式上的* xb

比如

x= linprog (f一个bAeq说真的包括伊瓜尔达的限制Aeq*x = beq.EstablezcaA = []yB = []我不存在任何恶魔。

比如

x= linprog (f一个bAeq说真的乌兰巴托定义UN conjunto de límites inferiores y superior en las variables de diseño,x, de modo que la solución siempre se encenentra en el rangoLb≤x≤ub.EstablezcaAeq = []yBeq = []根本不存在鬣蜥。

背板

Si los límites不一致的问题,la salidafval西文[]

比如

x= linprog (f一个bAeq说真的乌兰巴托选项最小操作optimización特殊情况选项.UtiliceoptimoptionsPara configurar estas opciones。

比如

x= linprog (问题Encuentra el mínimo para问题, una estructura descrita en问题

Puede importar una estructura问题de un archivo MPS utilzandompsread.También puede crear una structura问题联合国反对的一方OptimizationProblem我们使用prob2struct

比如

xfval= linprog(___, para cualquier argument to de entrada, develelvalor de la función客观有趣的恩拉soluciónxFval = f'*x

比如

xfvalexitflag输出= linprog(___发扬联合国的英勇精神exitflagQue describe la condición de salida y una estructura输出继续información清醒的进程optimización。

比如

xfvalexitflag输出λ= linprog(___榨取adicionalmente una estructuraλ拉格朗日的连续倍增之路soluciónx

包括

反待办事项

重新规划线性简单定义线性。

保护、限制和保护线的使用:

x 1 + x 2 2

x 1 + x 2 / 4 1

x 1 - x 2 2

- x 1 / 4 - x 2 1

- x 1 - x 2 - 1

- x 1 + x 2 2

A = [1 1 1 1/4 1 -1/4 -1 -1 -1 -1 -1 -1 1 1];B = [2 1 2 1 -1 2];

利用la función objectivo - x 1 - x 2 / 3.

F = [-1 -1/3];

Resuelva el programa linear。

x = linprog(f,A,b)
找到最优解。
x =2×10.6667 - 1.3333

线性的简单定义,线性的简单定义。

保护、限制和保护线的使用:

x 1 + x 2 2

x 1 + x 2 / 4 1

x 1 - x 2 2

- x 1 / 4 - x 2 1

- x 1 - x 2 - 1

- x 1 + x 2 2

A = [1 1 1 1/4 1 -1/4 -1 -1 -1 -1 -1 -1 1 1];B = [2 1 2 1 -1 2];

Utilice la restricción de igualdad lineal x 1 + x 2 / 4 1 / 2

Aeq = [1 1/4];Beq = 1/2;

利用la función objectivo - x 1 - x 2 / 3.

F = [-1 -1/3];

Resuelva el programa linear。

x = linprog(f,A,b,Aeq,beq)
找到最优解。
x =2×10 2

Resuelva un programa linear simple con desigualdades lineales, igualdades lineales y límites。

保护、限制和保护线的使用:

x 1 + x 2 2

x 1 + x 2 / 4 1

x 1 - x 2 2

- x 1 / 4 - x 2 1

- x 1 - x 2 - 1

- x 1 + x 2 2

A = [1 1 1 1/4 1 -1/4 -1 -1 -1 -1 -1 -1 1 1];B = [2 1 2 1 -1 2];

Utilice la restricción de igualdad lineal x 1 + x 2 / 4 1 / 2

Aeq = [1 1/4];Beq = 1/2;

Establezca estos límites:

- 1 x 1 1 5

- 0 5 x 2 1 2 5

Lb = [-1,-0.5];Ub = [1.5,1.25];

利用la función objectivo - x 1 - x 2 / 3.

F = [-1 -1/3];

Resuelva el programa linear。

x = linprog(f,A,b,Aeq,beq,lb,ub)
找到最优解。
x =2×10.1875 - 1.2500

重新编程,线性控制算法“内点”

保护、限制和保护线的使用:

x 1 + x 2 2

x 1 + x 2 / 4 1

x 1 - x 2 2

- x 1 / 4 - x 2 1

- x 1 - x 2 - 1

- x 1 + x 2 2

A = [1 1 1 1/4 1 -1/4 -1 -1 -1 -1 -1 -1 1 1];B = [2 1 2 1 -1 2];

Utilice la restricción de igualdad lineal x 1 + x 2 / 4 1 / 2

Aeq = [1 1/4];Beq = 1/2;

Establezca estos límites:

- 1 x 1 1 5

- 0 5 x 2 1 2 5

Lb = [-1,-0.5];Ub = [1.5,1.25];

利用la función objectivo - x 1 - x 2 / 3.

F = [-1 -1/3];

确定运算方法和算法“内点”

选项= optimoptions(“linprog”“算法”“内点”);

重新编程,线性控制算法“内点”

x = linprog(f,A,b,Aeq,beq,lb,ub,options)
最小值满足约束条件。优化完成是因为目标函数在可行方向上不递减,在函数公差选定值范围内,约束条件满足在约束公差选定值范围内。
x =2×10.1875 - 1.2500

Este ejemplo muestra cómo configurar un problema utilizdo el enfoque basado en problem y cómo resolverlo utilizdo el enfoque basado en solvers。El问题

马克斯 x x + y / 3. 年代 u b j e c t t o x + y 2 x + y / 4 1 x - y 2 x / 4 + y - 1 x + y 1 - x + y 2 x + y / 4 1 / 2 - 1 x 1 5 - 1 / 2 y 1 2 5

Cree un异议OptimizationProblemllamado概率代办财产问题。

X = optimvar(“x”下界的, 1“UpperBound”, 1.5);Y = optimvar(“y”下界的1/2,“UpperBound”, 1.25);问题=优化问题(“目标”,x + y/3,“ObjectiveSense”“马克斯”);prob.Constraints。C1 = x + y <= 2;prob.Constraints。c2=x+y/4<= 1; prob.Constraints.c3 = x - y <= 2; prob.Constraints.c4 = x/4 + y >= -1; prob.Constraints.c5 = x + y >= 1; prob.Constraints.c6 = -x + y <= 2; prob.Constraints.c7 = x + y/4 == 1/2;

问题的解决和结构问题的解决。

Problem = prob2struct(probb);

结果性重建问题。

[sol,fval,exitflag,output] = linprog(problem)
找到最优解。
索尔=2×10.1875 - 1.2500
Fval = -0.6042
Exitflag = 1
输出=带字段的结构:消息:'找到最佳解决方案。'算法:'dual-simplex' firstorderopt: 0

El英勇fval消极的堕落,美好的事物solución积极的肖恩。Internamente,prob2struct衔接问题maximización en联合国问题minimización否定问题función客观问题。Consulte目标最大化

¿Qué componente de索尔对应qué变量de optimización?检查一下la丙爹变量概率

概率。变量
ans =带字段的结构:X: [1x1 optimt .problemdef.]OptimizationVariable] y: [1x1 optimize .problemdef.OptimizationVariable]

Como cabe esperar,索尔(1)此时一个xy索尔(2)此时一个y.Consulte算法

计算el valor de la solución y de la función目标para un programa线性简单。

Las restricciones de desigualdad son

x 1 + x 2 2

x 1 + x 2 / 4 1

x 1 - x 2 2

- x 1 / 4 - x 2 1

- x 1 - x 2 - 1

- x 1 + x 2 2

A = [1 1 1 1/4 1 -1/4 -1 -1 -1 -1 -1 -1 1 1];B = [2 1 2 1 -1 2];

La función目标 - x 1 - x 2 / 3.

F = [-1 -1/3];

问题的解决和英勇的发展función目标。

[x,fval] = linprog(f,A,b)
找到最优解。
x =2×10.6667 - 1.3333
Fval = -1.1111

薪资指标和薪资结构与薪资进程的关系resolución和薪资。

保护、限制和保护线的使用:

x 1 + x 2 2

x 1 + x 2 / 4 1

x 1 - x 2 2

- x 1 / 4 - x 2 1

- x 1 - x 2 - 1

- x 1 + x 2 2

A = [1 1 1 1/4 1 -1/4 -1 -1 -1 -1 -1 -1 1 1];B = [2 1 2 1 -1 2];

Utilice la restricción de igualdad lineal x 1 + x 2 / 4 1 / 2

Aeq = [1 1/4];Beq = 1/2;

Establezca estos límites:

- 1 x 1 1 5

- 0 5 x 2 1 2 5

Lb = [-1,-0.5];Ub = [1.5,1.25];

利用la función objectivo - x 1 - x 2 / 3.

F = [-1 -1/3];

确定运算方法和算法对偶单纯形的

选项= optimoptions(“linprog”“算法”对偶单纯形的);

薪火薪火薪火薪火薪火薪火薪火薪火薪火薪火薪火薪火薪火薪火。

[x,fval,exitflag,output] = linprog(f,A,b,Aeq,beq,lb,ub,options)
找到最优解。
x =2×10.1875 - 1.2500
Fval = -0.6042
Exitflag = 1
输出=带字段的结构:消息:'找到最佳解决方案。'算法:'dual-simplex' firstorderopt: 0
  • fval,英勇función我们的目标是市长移交英勇función目标猪干草más限制。

  • exitflag= 1 indica que la solución es。

  • output.iterations= 0 indica quelinprogHa encontrado la solución durante la prerresolución没有Ha tenido que iterar en absoluto。

重新编程线性简单y检查la solución y洛拉格朗日乘数。

利用la función objectivo

f x - 5 x 1 - 4 x 2 - 6 x 3.

F = [-5;4;6);

利用限制线

x 1 - x 2 + x 3. 2 0

3. x 1 + 2 x 2 + 4 x 3. 4 2

3. x 1 + 2 x 2 3. 0

A = [1 -1 1 3 2 4 3 2 0];B = [20;42;30];

正态变量:

x 1 0

x 2 0

x 3. 0

Lb = 0 (3,1);

EstablezcaAeqy说真的[], lo que indica que no hay restricciones de igualdad lineales。

Aeq = [];Beq = [];

Llame一linprog拉格朗日乘数法。

[x,fval,exitflag,output,lambda] = linprog(f,A,b,Aeq,beq,lb);
找到最优解。

检查拉格朗日乘法公式solución y los乘数。

x lambda.ineqlin lambda.lower
x =3×10 15.0000 3.0000
ans =3×10 1.5000 0.5000
ans =3×11.0000 0

lambda.ineqlin二、二、二、三、三x.关于第二阶段和第三阶段的调查restricción关于保护的线性问题:

3. x 1 + 2 x 2 + 4 x 3. 4 2

3. x 1 + 2 x 2 3. 0

Compruebe que to sea cierto:

* x
ans =3×1-12.0000 42.0000 30.0000

lambda.lowerEs distinto de cero para引物组成x.Esto indica quex (1)Se encentra en su límite劣质de 0。

entrada论证

反待办事项

向量系数,特别是向量实的系数。代表系数的El向量función物象f ' * x.La notación asume quefEs UN矢量列,pero puede utizar UN矢量fila o UN arreglo。Internamente,linprogconviertefenel向量列f (:)

比如:F = [1,3,5,-6]

数据提示:

保护线的限制,特别是关于母体的限制。一个Es una matriz de运动N,在哪里Es el número de desigualdades yNEs el número de变量(longitude def).Para problems as grandes, pase一个Como una matriz分散化。

一个codifica拉斯维加斯desigualdades直系

A*x <= b

在哪里xel向量列deN变量x (:)ybEs UN向量列elementos。

Por ejemplo, considere estas desigualdades:

x1+ 2x2≤10
3.x1+ 4x2≤20
5x1+ 6x2≤30。

特别介绍,介绍,限制。

A = [1,2;3,4;5,6];B = [10;20;30];

比如:对我而言,对我而言,是一种特殊的事物A = ones(1,N)yB = 1

数据提示:

瓜达尔达线的限制,特别是关于母体的限制。AeqEs una matriz de运动N,在哪里Es el número de igualdades yNEs el número de变量(longitude def).Para problems as grandes, paseAeqComo una matriz分散化。

Aeqcodifica拉斯维加斯igualdades直系

Aeq*x = beq

在哪里xel向量列deN变量x (:)y说真的Es UN向量列elementos。

Por ejemplo, considere estas igualdades:

x1+ 2x2+ 3x3.= 10
2x1+ 4x2+x3.= 20。

特别介绍了限制。

Aeq = [1,2,3;2,4,1];Beq = [10;20];

比如:Para specific que los components de x suman 1, tomeAeq = ones(1,N)yBeq = 1

数据提示:

线性限制,特别是向量实的限制。bEs UN向量de元素与母体的关系一个.如果pasabComo UN vector fila, los solvers convierten internationalbenel向量列b (:).Para problems as grandes, pasebComo UN矢量分散。

bcodifica拉斯维加斯desigualdades直系

A*x <= b

在哪里xel向量列deN变量x (:)y一个tamaño运动N

Por ejemplo, considere estas desigualdades:

x1+ 2x2≤10
3.x1+ 4x2≤20
5x1+ 6x2≤30。

特别介绍,介绍,限制。

A = [1,2;3,4;5,6];B = [10;20;30];

比如:对人类的特殊组成部分的使用A = ones(1,N)yB = 1

数据提示:

线性的限制,特别是向量实的限制。说真的Es UN向量de元素与母体的关系Aeq.如果pasa说真的Como UN vector fila, los solvers convierten international说真的enel向量列说真的(:).Para problems as grandes, pase说真的Como UN矢量分散。

说真的codifica拉斯维加斯igualdades直系

Aeq*x = beq

在哪里xel向量列deN变量x (:)yAeqtamaño运动N

Por ejemplo, considere estas igualdades:

x1+ 2x2+ 3x3.= 10
2x1+ 4x2+x3.= 20。

特别介绍了限制。

Aeq = [1,2,3;2,4,1];Beq = [10;20];

比如:1、实用功能Aeq = ones(1,N)yBeq = 1

数据提示:

Límites下等人,especificados como un vector real o un arreglo real。Si la longitude defEs igual a la longitude de,因此,especifica,

X (i) >= lb(i)帕拉待办事项

如果数值(lb) <数值(f),因此,especifica,

X (i) >= lb(i)帕拉1 <= I <= number (lb)

我们在一起,我们在一起。

比如:这是一种特殊的,适用于所有正成分的方法Lb = 0 (size(f))

数据提示:

Límites上级,especificados como un vector real o un arreglo real。Si la longitude defEs igual a la longitude de乌兰巴托,因此,乌兰巴托especifica,

X (i) <= ub(i)帕拉待办事项

如果Numel (ub) < Numel (f),因此,乌兰巴托especifica,

X (i) <= ub(i)帕拉1 <= I <= numel(ub)

我们在一起,我们在一起。

比如:这是一种特殊的事物1, utiliceUb = ones(size(f))

数据提示:

Opciones de optimización, speciificadas como la salida deoptimoptions噢,这是一种毁灭optimset

适用的运算法则与相关运算法则与特殊运算法则。Consulte优化选项参考Para ver información detallada。

阿古纳斯opciones no aparecen en la visualizaciónoptimoptions.手鼓上的字母和字母。Para obtener más详情,咨询Visualizar各种选择

都是算法
算法

Escoja el算法de optimización:

  • 对偶单纯形的(英勇predeterminado)

  • “interior-point-legacy”

  • “内点”

Para obtener información清醒cómo elegir el algorithitmo, consulte线性规划算法

记录

Muestre información de diagnóstico清醒的la función que se desea minimizar o resolver。Escoja“关闭”(predeterminada) o“上”

显示

Nivel de visualización(咨询迭代显示):

  • “最后一次”(预先确定的)独唱的动作。

  • “关闭”o“没有”没有muestran salida alguna

  • “通路”心灵的幻梦iteración。

MaxIterations

Número máximo关于许可的迭代,不进入正题。La opción predeterminada:

  • 85Para el algorithm“interior-point-legacy”

  • 200Para el algorithm“内点”

  • 10*(numberofetraits + numberOfInequalities + numberOfVariables)Para el algorithm对偶单纯形的

Consulte公差标准detencióny迭代与最近的la función

帕拉optimset,我的名字麦克斯特.Consulte实际行动和国家安全

OptimalityTolerance

容忍terminación双重的积极因素。La opción predeterminada:

  • 1 e-8Para el algorithm“interior-point-legacy”

  • 1 e -Para el algorithm对偶单纯形的

  • 1 e-6Para el algorithm“内点”

帕拉optimset,我的名字TolFun.Consulte实际行动和国家安全

Algoritmo内点
ConstraintTolerance

可容忍的限制,不限制的1平台以及一个1 e - 3ConstraintTolerance最原始的宽容。La opción predeterminada1 e-6

帕拉optimset,我的名字TolCon.Consulte实际行动和国家安全

Preproceso

程序前LP前算法迭代。Especifique“基本”(predeterminada) o“没有”

算法对偶单纯形
ConstraintTolerance

可容忍的限制,不限制的1平台以及一个1 e - 3ConstraintTolerance最原始的宽容。La opción predeterminada1的军医

帕拉optimset,我的名字TolCon.Consulte实际行动和国家安全

MaxTime

时间máximo第二秒,持续时间,问题,问题,问题,算法。La opción predeterminada

Preproceso

前加工前LP前算法迭代双单纯性。Especifique“基本”(predeterminada) o“没有”

比如:options = optimoptions('linprog','Algorithm',' internal -point','Display','iter')

问题的结构,特别的是,结构的结构,也有不同的地方。

Nombre de campo Entrada

f

矢量de función objectivo线性f

Aineq

母线对限制的方法

bineq

外瓜形线对限向量

Aeq

瓜达尔达系线

说真的

瓜瓜达直线对限向量
向量德límites劣等
乌兰巴托 向量德límites上级

解算器

“linprog”

选项

Opciones creadas conoptimoptions

这是我的梦想解算器enla estructura问题

数据提示:结构体

salida的论证

反待办事项

Solución, devuelta como un vector real o un arreglo real。El tamaño dexEs el mismo que el tamaño def

英勇función目标之路solución,精神之路número真实。Por lo general,fvalf ' * x

Razón por la quelinprog我知道你是谁,我是谁。

3.

solución在容忍方面是可承认的ConstraintTolerance相对而言,绝对容忍是不可改变的。

1

La función ha convergido a una soluciónx

0

El número de iteraciones ha sobrepasado选项。麦克斯特一个t我onsO el timempo de resolución我的日子过得很好选项。MaxTime

-2

没有se ha encontrado ningún punto factible。

3

El problem está desacotado。

4

你是英勇之人杜兰特拉ejecución德尔算法。

5

镍问题,原镍对偶易解。

7

La dirección de búsqueda se ha vuelto demasiado pequeña。没有se han podido hacer más progresos。

9

El solver ha perdido factibilidad。

洛杉矶exitflag3.y9Están关于无法解决的问题的解释。高空直线限制矩阵的正常计算公式número高空条件,高空问题计算公式número高空要素solución。Para corregir estos问题,系数矩阵意图,消除限制线性冗余建立者límites más变量约束。

Información清醒的前进optimización,与我们一起重建家园。

迭代

Número de iteraciones

算法

算法optimización utilitzado

cgiterations

0 (solo algorithm - internal -point, incluido para retrocompatibilidad)

消息

Mensaje de salida

constrviolation

Máximo de funciones de restricción

firstorderopt

Medida de optimalidad de primer orden

拉格朗日的倍增solución,与结构的共同发展。

较低的

Límites inferiores que correspondence den a

Límites superires que corresponden a乌兰巴托

ineqlin

线形排列对应a一个yb

eqlin

Igualdades lineales que correspondence den aAeqy说真的

拉格朗日对满足线性限制的乘数ecuación con components长度(f)

f + 一个 T λ ineqlin + Aeq T λ eqlin + λ λ 较低的 0

Basado en el lagrangiano

f T x + λ ineqlin T 一个 x b + λ eqlin T Aeq x 说真的 + λ T x 乌兰巴托 + λ 较低的 T x

Esta convención de sigones con la de los solvers no lineales (consulte约束最优理论).没有任何障碍,没有任何反对的符号,没有任何反对的符号,没有任何反对的符号,没有任何反对的符号,没有任何反对的符号,没有任何反对的符号,没有任何反对的符号,没有任何反对的符号,没有任何反对的符号,没有任何反对的符号linprog我的灵魂已经被否定了。

Algoritmos

反待办事项

算法对偶单纯形

Para obtener una descripción, consulte对偶单纯形算法

Algoritmo Interior-Point-Legacy

El metodo“interior-point-legacy”se basa en LIPSOL(线性内点求解器,[3]), que es una variante del algorithm predictor-corrector de Mehrotra[2], UN método primal-dual de punto interior。程序前的变化,程序前的变化,算法的变化,迭代。Consulte内点遗留线性规划

可能的初始阶段算法隐含过程前的限制(咨询内点遗留线性规划).多变的条件和挑衅linprogSalga con UN mensaje de infactibilidad。En cada caso,linprogdevuelve联合国exitflag否定法罗。

  • 如果在Aeq这是我们的秘密,这是我们的秘密说真的没有cero, el mensaje de salida es

    由于不可行而退出:约束矩阵中的全零行在对应的右侧项中没有零。
  • 我知道这是什么东西x没有está acotado debajo, el mensaje de salida es

    不可行退出:目标f'*x在下面是无界的。
  • Si una de las filas deAeq独唱一首《我的世界》和《我的英雄》x硒羊驼变量单例.彼此尊重,彼此勇敢xPuede calcularse a partir deAeqy说真的.英勇计算弱点restricción,勇敢的门

    由于不可行而退出:在等式约束中的单例变量是不可行的。
  • Si la可变单体puede resolverse, pero la solución vulnerable los límites上级o下级,el mensaje de salida es

    由于不可行而退出:等式约束中的单例变量不在边界内。

背板

过程前之路,累积之子。我爱你,我爱你,我爱你restricción我爱你,我爱你,我爱你,我爱你。

程序前的结束,部分算法的迭代,计算过程中对结果的判断detención。(Para obtener más información清醒的剩余价值,原始问题,双重标准问题detención relacionados, consulte内点遗留线性规划).这是我们的价值残余,这是我们的价值残余,这是我们的价值残余,这是我们的价值残余terminación这是我们的价值残余,

到目前为止,残差、对偶差或总相对误差中的一个或多个已经比其最小值增长了100000倍:

o

残差、对偶差或总相对误差中的一个或多个已经停止:

Después在世界上最重要的事情是什么,在世界上最重要的事情是什么,在世界上最重要的事情是什么。

  • 对偶似乎是不可行的(而原始无界)。(原始残差< OptimalityTolerance。)

  • 原元似乎是不可行的(而对偶是无界的)。(双残差< OptimalityTolerance。)

  • 对偶似乎是不可行的(原始无界),因为对偶残差>根号(OptimalityTolerance)。(原始残差< 10*OptimalityTolerance。)

  • 原始似乎是不可行的(和对偶无界),因为原始残差>根号(OptimalityTolerance)。(双残差< 10*OptimalityTolerance。)

  • 由于原始目标< -1e+10而对偶目标< 1e+6,因此对偶似乎是不可行的,原始无界。

  • 由于对偶目标> 1e+10和原始目标> -1e+6,原始目标似乎是不可行的,对偶无界。

  • 原初和对偶似乎都是不可行的。

Por ejemplo, el (objetivo)原始puede estar desacotado y el valor残原始,que es la medida de la satisfacción de la restricción原始,puede ser pequeño。

Algoritmo内点

El algoritmo“内点”相似的算法“interior-point-legacy”, pero con una rutina de factorización mucho más eficaz y con pre - procesamiento different。Consulte内点linprog算法

Funcionalidad alternativa

应用程序

拉他利亚优化de Live Editor proporciona una interfaz视觉paralinprog

Referencias

[1]丹齐格、g.b.、A.奥登和P.沃尔夫。线性不等式约束下最小化线性形式的广义单纯形方法。太平洋数学杂志,第5卷,1955年,第183-195页。

[2] Mehrotra, S.《关于原始-对偶内点方法的实现》。SIAM优化期刊,第2卷,1992,第575-601页。

[3]张勇,“MATLAB环境下求解大规模线性规划的内点法”。技术报告TR96-01, 1995年7月,马里兰州巴尔的摩县马里兰大学数学与统计系。

历史版本

介绍,2006年