¿Qué haces con preguntas difíciles de los clientes como esta?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola SEs
Recientemente recibí este desafío de un cliente. Entra en un área en la que no soy particularmente fuerte. ¿Alguien tiene sugerencias sobre qué hacer con esto?
Hola Byron
Una gran broma entre mis compañeros de trabajo es que no deberían mencionar hacer algo en Excel en mi presencia. La razón es porque cada vez que alguien menciona hacer un cálculo fuera de JMP, digo "JMP puede hacer eso". Particularmente he tratado de hacer que la gente deje de usar Excel, pero también lo digo cuando la gente habla de hacer algo en Matlab, etc. Entonces, ahora creo que me veo obligado a pedirle a JMP que me ayude a no "comer cuervo".
Continué investigando mi problema de optimización. Me decepcionó que me cerraran a través del soporte técnico, pero lo entiendo. Terminé de escuchar todas las conferencias para el curso de optimización convexa en Stanford a través de ITunesU que les mencioné anteriormente. Aprendí bastante. Una cosa que aprendí es que Excel tiene un solucionador de complementos para resolver problemas de optimización. ¡Parece que el Solver de Excel es mejor que el generador de perfiles de JMP! Principalmente digo esto porque Solver permite restricciones no lineales. También es posible que entienda cómo usar el solucionador de Excel mejor que Profiler o la plataforma no lineal, si esa es la plataforma correcta para mi problema. En cualquier caso, sostengo, eso hace que Solver sea "mejor". Es muy posible que el Solver de Excel sea menos eficiente que el Profiler de JMP, pero ese no es un punto para mi comparación particular.
Entonces, Desafío a JMP para que proporcione una plataforma capaz de resolver problemas de optimización no convexos con funciones objetivas no lineales y restricciones no lineales que sea fácil de entender y usar. Por supuesto, hago este desafío desde la perspectiva más positiva de los comentarios de un cliente que de otro modo estaría muy satisfecho
No se preocupe, mantendré esta aparente superioridad de Excel entre nosotros hasta que JMP haya tenido una gran oportunidad de "hacer lo correcto".
-J
Re: ¿Qué haces con preguntas difíciles de los clientes como esta?Martín,
Gracias por sus útiles comentarios. Es bueno tener la confirmación de que estoy sobre mi cabeza.
En algún momento me gustaría trabajar en esta clase para comprender mejor cómo se podría resolver el problema.
Optimización convexa | Stanford Lagunita
Salud,
Byron
Re: ¿Qué haces con preguntas difíciles de los clientes como esta?Última nota: no estoy seguro de querer que JMP tenga una plataforma de optimización competitiva. Esta sería una gran cantidad de trabajo de implementación de desarrolladores. Y ya existen herramientas muy especializadas en las que tendría dificultades si no proporciona el conjunto completo de rutinas de optimización.
Si el cliente pudiera proporcionarle un caso de uso con un mensaje de buen valor, podría haber lugar para la discusión. Pero conozco las discusiones que tuve con algunos desarrolladores de las rutinas de optimización, por ejemplo, cuando se trataba de la implementación de MILP y otras, fue mucho trabajo hacer que fuera lo suficientemente eficiente como para ser útil.
Re: ¿Qué haces con preguntas difíciles de los clientes como esta?Hola byron
Estoy de acuerdo con Peter, publicar aquí es algo bueno. Además, estoy entregando mensajes honestamente a los clientes.
Con respecto a este tema específico, responderé más tarde hoy tan pronto como regrese al hotel. He tratado ese tema en el pasado y puedo proporcionarle algunas ideas al respecto.
Mejor
Martín
---
Enviar móvil
Luego ...
Hola byron
así que ahora hablamos de problemas de optimización no convexos. Esos son problemas en los que los solucionadores lineales y la mayoría de los solucionadores cuadráticos tendrán más dificultades para encontrar una solución, especialmente con cierta certeza de que no hay una solución mejor. Otro dijo, si el objetivo y todas las restricciones son convexos, puede estar seguro de determinar si existe una solución factible, encontrar la solución óptima global y resolver el problema hasta un tamaño muy grande. Si tiene una solución no convexa, el problema es mucho más difícil y no puede estar seguro de ninguna de estas cosas.
A menudo surgieron soluciones no convexas cuando tienes problemas de programación de enteros y restricciones. Ese tipo de problemas que trataría de usar con solucionadores de optimización global, como algoritmos genéticos o evolutivos, o con métodos especiales de Entero mixto / Entero binario u otros métodos Branch and Bound (creando repetidamente subproblemas para resolverlos con algoritmos más simples).
Todos tienen en común que hay un algoritmo numérico utilizado en la parte posterior que podría volverse bastante complicado y numéricamente costoso. Pero evita que tenga una mayor probabilidad de encontrarse con una solución local que puede no tener mucho que ver con la solución real.
Esos métodos numéricos que no tenemos en JMP, que yo sepa. Por lo general, encontrará esos algoritmos en paquetes de optimización o software como MATLAB. Realmente creo que el complemento de Excel no está escrito en Excel, sino un C / C ++ / MATLAB / Fortan / R u otra rutina compilada en un complemento de Excel * .xla. Esto lo hice en el pasado con MATLAB y MATLAB Compiler para propósitos de demostración y también para algunos proyectos de clientes.
El perfilador, hasta donde entiendo la optimización bajo el capó, resuelve un problema convexo. Entonces podrá encontrar un óptimo global. Si tiene valores discretos, resolvería uno tras otro y elegiría el mejor. Pero puede quedar atrapado en un óptimo local. Estoy feliz de que me corrijan si mi suposición es incorrecta.
Otra idea podría ser usar Redes Neuronales para manejar ese tipo de problemas, pero por lo general no es tan escalable y lleva mucho tiempo ejecutarlo. Tampoco estoy seguro de qué funciones de capacitación y transferencia tendríamos en JMP, ya que pueden marcar una gran diferencia en la convergencia de esos problemas. Lo utilicé una vez en un cliente que quería encontrar las mejores y peores partes de su cartera, para poder deshacerse de las 30 peores partes y quedarse con todas las demás, especialmente las mejores. La precisión del modelo fue de aproximadamente 60% de clasificación correcta para aquellos en el medio y una tasa alta para el peor grupo. Usar esa información para limpiar su cartera ahorró pérdidas de abrazo y aumentó la ganancia en gran escala.
Una nota adicional: a menudo esos algoritmos se implementan para poder ejecutarse en modo paralelo y son altamente escalables. Los problemas MILP son bastante comunes en la industria financiera, por ejemplo, para ciertos problemas de optimización de cartera, por ejemplo, en el área de servicios públicos, petróleo y gas y energía. Si el complemento que está hablando su cliente llama a un entorno de tiempo de ejecución que es capaz, por ejemplo, de algoritmos de optimización global, no me sorprende que proporcione una mejor solución. Si realmente es un código escrito de Excel / VBA, estaría muy interesado en ver el algoritmo ya que esto me sorprendería.
Espero que te dé una idea que te permita responder la pregunta de una manera agradable.
Re: ¿Qué haces con preguntas difíciles de los clientes como esta?Byron:
En general, cuando estoy personalmente desconcertado, empiezo a publicar el problema aquí en este foro, tal como lo hizo en el paso 1.
Espere respuestas ... cualquier cosa, desde una 'solución' hasta 'JMP no puede hacer eso' o lo habitual, 'JMP puede hacerlo con scripts como parte clave de la ruta de la solución'.
Honestamente, cuando es algo que JMP simplemente no puede hacer (sin secuencias de comandos) ... Solo le digo al cliente de una manera directa que, JMP como se implementa actualmente, no tiene esta funcionalidad, pero si uno es un scripter lo suficientemente ingenioso puede desarrollarse una solución. Diablos, lo hice yo mismo, hace muchos años antes de que JMP implementara el método EMP de Wheeler. Desarrollé un script crudo y muy básico para hacer algo de lo que Wheeler defiende. No hace falta decir que estaba encantado cuando JMP implementó el método EMP de Wheeler ... mi script fue puesto en pastoreo.
Entonces sé que personas como Dan Valente, Jeff Perkinson y otros ven nuestra charla aquí y si el 'algo' es un elemento que se está considerando para un gran lanzamiento futuro.
No podemos ser todo para todas las personas, el 100% del tiempo, en tiempo real.