Matlab - fmincon - Implementación de esta restricción no lineal

   
Vista:

fmincon - Implementación de esta restricción no lineal

Publicado por Aitor (46 intervenciones) el 14/06/2017 10:46:11
Buenos días a todos,

Necesito implementar un problema de optimización con `fmincon` que incluya la siguiente restricción que os adjunto -la resta del término de la izquierda menos el de la derecha debe ser estrictamente menor que cero para cualquier número real `mv` durante cualquier iteración `l`.

mdvfG


Aquí podéis encontrar mi código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
mu0 = 2/sigma;
    mv = 0;
 
    l_idle = zeros(1,length(v));
    r_idle = zeros(1,length(r));
 
    syms x;
    Q_1 = exp(-0.4527*x^0.86 + 0.0218);
    Q_2 = sqrt(pi/x)*exp((-x/4)*(1-20/(7*x)));
 
    for i = 2:length(l_idle)
        if ((mu0 + (i-1)*mv) < 10)
                l_idle(i) = double(subs(Q_1,x,(mu0 + (i-1)*mv)));
        else
                l_idle(i) = double(subs(Q_2,x,(mu0 + (i-1)*mv)));
        end
    end
 
    lambda = v(2:length(v))*transpose(l_idle(2:length(l_idle)));
 
    for j = 2:length(r_idle)
        b = 1-(1-lambda)^(j-1);
        if b < 10, r_idle(j) = subs(0.4527^(-1/0.86)*(0.0218-log(x))^(1/0.86),x,b);
        else,      r_idle(j) = subs(finverse(Q_2,x),x,b);
        end
    end
    c = zeros(1,2);
    c(1) = mv - r(2:length(r))*transpose(r_idle(2:length(r_idle)));
    % There is an additional constraint that has not been included.

Algo no debe estar funcionando bien, ya que no he incluido ningún indicio de recursividad en él, y además no menciona por ninguna parte que ha de cumplirse para cualquier número real. Me temo que no sé cómo continuar a partir de aquí. ¿Podría alguien echarme una mano? Se lo agradecería mucho.

Muchas gracias de antemano, y un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO

fmincon - Implementación de esta restricción no lineal

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (4473 intervenciones) el 14/06/2017 15:14:34
He estado viendo en varios preguntas la misma imagen. Una vez traté de resolverlo, pero tenía varios vacíos en tu código por lo tanto lo dejé. Te puedo dar sugerencias o darte respuesta solo para decirte que te contesto tu pregunta, pero valga la verdad quizás a la larga no te sirvan. Con respecto a tu pregunta se podría hacer por asesoría online personalizada en tiempo real. No todas la preguntas que hace el usuario en este medio se puede contestar con una respuesta acertada por este medio del foro. Hay preguntas que se tiene que hacer en forma personalizada donde la persona que hace la pregunta y el que programa en matlab ambos unidos resuelve en tiempo real. Mientras tanto el tiempo pasa y con el correr del tiempo, la pregunta que hace el usuario queda relegado porque hay más usuarios que siguen haciendo nuevas preguntas de matlab.

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad