Error de función de minimización: "FALLO de convergencia: NO SE PUEDE DISMINUIR LA FUNCIÓN OBJETIVO"Estoy trabajando en un proyecto en JMP 16, donde uso la función "Minimizar". Cuando ejecuto la función, a menudo encuentro el error "FALLA de convergencia: NO SE PUEDE DISMINUIR EL OBJETIVO". Mirando los resultados finales del guión, son los esperados. Por lo tanto, parece que el error tiene poca influencia en los resultados finales. Sin embargo, para asegurar la validez de la secuencia de comandos, todavía me gustaría saber el razonamiento detrás del error.Tuve dificultades para encontrar documentación sobre este error específico y, por lo tanto, esperaba que alguien en la comunidad de JMP pudiera ayudar a identificar la causa.
Usando la opción “<< Detalles (Ambos)” para la función de minimizar, se obtuvo la siguiente imagen del registro:

Saludos,
Luis
Analíticasecuencias de comandosRe: Error de función de minimización: "FALLA de convergencia: NO SE PUEDE DISMINUIR LA FUNCIÓN OBJETIVO"Podrías hacer un gráfico, como este:
expression=expr(Log10( (ChiSquare Quantile( alpha, df ) / df - Vratio) ^ 2 ));
alpha = 0.025;
Vratio = 0.39135;
df=2;
Minimize( expression, { df( 2, 1000 ) }, << Use Numeric Deriv( "true" ) );
show(df);
New Window( "Example",
Graph Box(xscale(-1,26),yscale(-10,0),
Pen Color( "red" );
Y Function( expression, df );
)
);
there is a sharp drop at the df found by the minimize function.there is a sharp drop at the df found by the minimize function.hay una fuerte caída en el df encontrado por la función de minimizar.
puede acercar la caída brusca y ver que va a ser computacionalmente difícil obtener una respuesta perfecta:
9 significant digits, and more to go.9 significant digits, and more to go.9 dígitos significativos, y faltan más.
minimizar gl encontrado = 13.3517718809044 ;
Identificación adivinar que el algoritmo de minimización llega a un punto en la curva que encuentra el siguiente punto en el lado lejano del mínimo verdadero, e incluso podría estar en un ciclo rebotando a través del mínimo. Con un valor inicial diferente, podría acercarse lo suficiente como para decidir detenerse. Lo suficientemente cerca también es un parámetro que puede pasar para minimizar (tolerancia).
Re: Error de función de minimización: "FALLA de convergencia: NO SE PUEDE DISMINUIR LA FUNCIÓN OBJETIVO"Mirando el generador de perfiles para la función (ver más abajo y la tabla de datos adjunta), parece que Minimize() está dando una buena respuesta.
Quizás @chris_gotwalt1 puede dar una explicación del mensaje de error que está recibiendo de la llamada a Minimize().

Re: Error de función de minimización: "FALLA de convergencia: NO SE PUEDE DISMINUIR LA FUNCIÓN OBJETIVO"Usé este script basado en tus respuestas.
Names Default to Here( 1 );
alpha = 0.025;
variance ratio = 0.94917 ;
df = 2;
expression = Expr( Log10( (Chi Square Quantile( alpha, df ) / df - variance ratio) ^ 2 ) );
Minimize( expression, { df( 2, 1000 ) }, << Use Numeric Deriv( "true" ) );
Obtengo lo siguiente usando las dos razones de varianza que me diste:
//:*/
Names Default to Here( 1 );
alpha = 0.025;
variance ratio = 0.39135;
df = 2;
expression = Expr( Log10( (Chi Square Quantile( alpha, df ) / df - variance ratio) ^ 2 ) );
Minimize( expression, { df( 2, 1000 ) }, << Use Numeric Deriv( "true" ) );
/*:
Optimization failed: Failed: Cannot Decrease Objective Function
-19.6490758040614
//:*/
Names Default to Here( 1 );
alpha = 0.025;
variance ratio = 0.94917 ;
df = 2;
expression = Expr( Log10( (Chi Square Quantile( alpha, df ) / df - variance ratio) ^ 2 ) );
Minimize( expression, { df( 2, 1000 ) }, << Use Numeric Deriv( "true" ) );
/*:
-2.91402948948765Re: Error de función de minimización: "FALLA de convergencia: NO SE PUEDE DISMINUIR LA FUNCIÓN OBJETIVO"Hola, Mark,
Gracias por su respuesta.
Para responder tu pregunta:
- La llamada a la función de minimización es la siguiente:
minfun = Minimize (mfun, {df},<<USENUMERICDERIV></USENUMERICDERIV> - La expresión a evaluar es la siguiente:
mfun = Expr( Log10( (ChiSquare Quantile( alpha, df ) / df - Vratio) ^ 2 ) );
- Los parámetros de la función se inicializan de la siguiente manera:
- df: esto se establece en 2 antes de ejecutar la función Minimizar ()
- Tanto alfa como Vratio se calculan previamente en el script. En la situación particular donde falla los parámetros tienen los siguientes valores:
- alfa = 0.025
- Relación V = 0,39135
- Aquí se puede agregar que usando Vratio = 0.94917 no encuentro la advertencia.
Saludos,
Luis
Re: Error de función de minimización: "FALLA de convergencia: NO SE PUEDE DISMINUIR LA FUNCIÓN OBJETIVO"¿Cuál es la llamada a la función Minimize() que usó? ¿Cuál es la expresión a evaluar? ¿Cuáles son los parámetros en la expresión y cómo se inicializan? ¿Hay más información disponible en el registro de JMP cuando llama a esta función?