Is it possible to add more constraints than the default ones in LSQLIN function?

1 visualización (últimos 30 días)
I'm solving a constrained linear least-squares problem using lsqlin. I've specified values for C,d,A,b,Aeq and beq. I used all the default constraints that are included in the solver except for the uper and lower bounds.
Axb
Aeqx=beq
I want to add one more constraint to the solver that is different from the above constraints that I already used, Is there a way to specify more constraints in addition to the ones that are by default in the solver?
Any help is appreciated!
  2 comentarios
Torsten
Torsten el 26 de En. de 2023
Editada: Torsten el 26 de En. de 2023
Don't you think we need to know the constraint you want to impose in order to be able to give advice ?
John D'Errico
John D'Errico el 26 de En. de 2023
There are no default constraints. And you can supply more than one constraint. That is, A and Aeq can be MATRICES, with b and beq being vectors. That means A can have as many rows as you wish, with each row being another constraint. The same applies to Aeq.

Iniciar sesión para comentar.

Respuesta aceptada

Matt J
Matt J el 26 de En. de 2023
Editada: Matt J el 26 de En. de 2023
You can still use lsqlin, but as John said, you can add additional inequality constraints as follows,
Q=-sign(d).*C;
r=zeros(size(d));
Aineq=[A;Q]
bineq=[b;r];
x = lsqlin(C,d,Aineq,bineq,Aeq,beq,lb,ub,x0,options)

Más respuestas (1)

Torsten
Torsten el 26 de En. de 2023
Movida: Matt J el 26 de En. de 2023
Use "fmincon" with the constraint (C*x).*d >=0 and define this constraint in function "nonlcon".

Categorías

Más información sobre Linear Least Squares en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by