Optimización de JobShop
19:38
3 жыл бұрын
Restricciones OR en Cplex & Python
12:39
Local Search, 2-opt
30:05
4 жыл бұрын
Пікірлер
@franciscougarte5813
@franciscougarte5813 Ай бұрын
Cuidado si ponen una variable que en su nombre incluye números porque el programa podría no detectarla en mi caso tuve que cambia la variable x1 por a
@filippovicentini8767
@filippovicentini8767 2 ай бұрын
if node 1 is visited by vehicle 2, why t[1,1] = 100 and not to 0???
@elisabethkim96
@elisabethkim96 4 ай бұрын
buen video, solo quiero preguntarte, si se trata de prediccion por que hay diferencias d numeros? Nunca se lograra obtener una exactitud? Se trata de prediccion de comportamiento?
@sergiocorrea1179
@sergiocorrea1179 4 ай бұрын
La predicción nunca es exacta. Se debe calcular el error. En pronóstico la primera regla es que no son exactos. Ahora dependiendo del Parton de la demanda, se utilizan diferentes métodos que tiene mejor exactitud.
@gabotuterror9670
@gabotuterror9670 4 ай бұрын
Hola que tal , donde puedo ver el notebook.
@saidandreeumetzucaballero7516
@saidandreeumetzucaballero7516 5 ай бұрын
Sergio como ests? gracias por tu video, fue claro. Pero tengo una duda, tu prefieres optimizar con Gurobi o con CPLEX?
@sergiocorrea1179
@sergiocorrea1179 5 ай бұрын
La verdad que no hay gran diferencia... utiliza el que se sea más fácil de instalar
@saidandreeumetzucaballero7516
@saidandreeumetzucaballero7516 5 ай бұрын
@@sergiocorrea1179 muchas gracias por tu respuesta, ahora estoy utilizando Gurobi y en verda me va bien :) gracias por tus videos
@leonpardox7548
@leonpardox7548 6 ай бұрын
wena wena
@jorgegonzalezcampos4434
@jorgegonzalezcampos4434 6 ай бұрын
Muy bien explicado, muchas gracias!
@kellystefanyzavaletazarate3010
@kellystefanyzavaletazarate3010 6 ай бұрын
Con que version de Python es compatible CPLEX 2211? Tengo python 3.8, 3.9 y 3.10 pero no me funciona
@sergiocorrea1179
@sergiocorrea1179 6 ай бұрын
Debes revisar cual es la versión de Cplex que tienes instalada y con que python es compatible.
@raceday1701
@raceday1701 7 ай бұрын
Hola, tengo un modelo con 7 variables pero al correr el código me dice que el limite es 3
@sergiocorrea1179
@sergiocorrea1179 6 ай бұрын
Eso puede ser por la versión o como tienes definidas las variables
@sebascol
@sebascol 7 ай бұрын
Sergio este contenido es muy bueno. Deberías subir mas videos, hoy en día hay mucho sobre ML, LLMs, pero poco hay sobre optimización. Gracias por tu contenido
@sebascol
@sebascol 7 ай бұрын
Excelente video Sergio, gracias por compartir el conocimiento 👍
@jonathanrodas882
@jonathanrodas882 7 ай бұрын
Hola, espero que este bien, mi pregunta es en el caso de un flowshop ¿ Cómo seria el modelo?
@jclavijosa
@jclavijosa 8 ай бұрын
Hola señor sergio tengo un modelo muy parecido podria ayudarme si es tan amable a solucionarlo. Es un poco diferente solo que no he podido minimizar los costos segun las restricciones que me asiganron.
@luigicastroalvis4492
@luigicastroalvis4492 8 ай бұрын
Se nota la maestría en tu explicación y el desarrollo gradual y ordenado del algoritmo. Muchas gracias por tu enseñanza!
@jclavijosa
@jclavijosa 8 ай бұрын
hola mi amigo que pena la molestia me parecen muy interesantes tus video cual de tus video me podria servir para guiarme en este caso? Los procesos que se deben realizar para la producción La planta cuenta con estaciones fijas donde se deben ubicar cada uno de los procesos mencionados. Las estaciones se presentan numeradas de 1 a 6 cada proceso puede ser ubicado en cualquiera de las estaciones, pero cada estación solo puede tener un proceso asignado. Teniendo en cuenta la demanda y la secuencia de procesos de cada producto, se ha asignar una estación para cada proceso de manera que se minimice la distancia total (ponderada por los flujos) que recorren los productos cada día. las estaciones tienen su respectiva matriz de distacia y los productos su matriz de flujos . te agradeceria muchismo tu ayuda
@jakoks6798
@jakoks6798 Жыл бұрын
Hola, muy buen video, pero consulta, como vuelvo la restriccion de ida y vueltade vehiculos para que en el ultimo nodo el vehiculo no vuelva al punto de origen ?, asi volver este problema un OVRP, saludos.
@Daniel-yz6gs
@Daniel-yz6gs Жыл бұрын
De casualidad no tienes un video explicándolo en ampl?
@sergiocorrea1179
@sergiocorrea1179 Жыл бұрын
No estimado, solo en Cplex o Gurobi. Exito !
@miguelcortes0999
@miguelcortes0999 Жыл бұрын
Buenas, en caso de que el modelo sea MIP se puede calcular con GUROBI el análisis de sensibilidad o solo sirve cuando todas las variables son continuas?
@sergiocorrea1179
@sergiocorrea1179 Жыл бұрын
Se puede hacer análisis de sensibilidad, pero es mas complejo.
@Laacademiadelraton
@Laacademiadelraton Жыл бұрын
Genio y figura 🎉
@sirop36
@sirop36 Жыл бұрын
Creo que tienes el sumatorio de la restricción en la que delimitas que cada nodo se abastezca de una sola ubicacion mal. Deberia recorrer el conjunto de las j € J. No me cuadraba mucho y pensaba que había algo que no entendía, pero he buscado en otras fuentes y efectivamente recorren el cojunto J. La comprobación viene de aqui: Technical Note-An Algorithm for the pMedian Problem. Operations Research. Me refiero a la notación matematica del principio.
@_isDev
@_isDev Жыл бұрын
tengo una duda amigo: estos metodos de promedios y suavizacion se usan (por lo que he leido) en series temporales en donde la frecuencia de tiempo es de dias, semanas, meses, trimestres, cuatrimestres, etc... pero que para series temporales con periodos con años se usan otros modelos Te comento esto porque veo que tu lo usas como lo ultimo que describo. Tienes idea de que se pueda aplicar de esa forma y obtener pronosticos decentes?
@javierarrieta9573
@javierarrieta9573 9 ай бұрын
La respuesta es depende, pero con algunas consideraciones. Los métodos de promedios y suavización pueden ser útiles para capturar y proyectar patrones a largo plazo en los datos. Sin embargo, estos métodos pueden no ser capaces de capturar y proyectar eficazmente patrones o cambios más sutiles o complejos que ocurren a nivel anual. Además, estos métodos asumen que los patrones observados en el pasado continuarán en el futuro, lo cual puede no ser siempre el caso, especialmente para series temporales con periodos de años donde pueden ocurrir cambios significativos. Al fin y al cabo todo cae dentro del contexto de los datos con los que estemos trabajando
@aycanfiliz4233
@aycanfiliz4233 Жыл бұрын
Hi, Could you share py file?
@sergiocorrea1179
@sergiocorrea1179 Жыл бұрын
I will check if I still have it. Thank you for watching
@_isDev
@_isDev Жыл бұрын
excelente este canal bro! que manera tan facil de seguirte con la explicacion!
@carlosriquelmerodriguez3958
@carlosriquelmerodriguez3958 Жыл бұрын
Dónde se puede conseguir el archivo .csv? Ya intenté escribir la url pero me lanza error, luego lo copié en el navegador pero la página no existía
@ayabouazza4123
@ayabouazza4123 Жыл бұрын
Hi , I am a beginner in the Python language. Can you tell me which model you worked with? TSP OR VRP ...
@sergiocorrea1179
@sergiocorrea1179 Жыл бұрын
I would recommend start before that with the other simples one. Follow the list and we will be able to work with any models. Between TSP and VRP, TSP is "easier".
@rafaelrivasestrada
@rafaelrivasestrada Жыл бұрын
Exlente, por casualidad llegué aquí y no pude dejar de verlos, quedé con la duda donde esta el siguiente el video ?, éste ya tiene un año desde que fue publicado
@sergiocorrea1179
@sergiocorrea1179 Жыл бұрын
No he subido mas videos. Me dare el tiempo de hace más pronto.
@CesarTamezKLS
@CesarTamezKLS Жыл бұрын
Por que en el display del modelo dice Minimize en lugar de Maximize?
@sergiocorrea1179
@sergiocorrea1179 Жыл бұрын
El video es antiguo, puede ser la edición del video.
@dianpek1
@dianpek1 Жыл бұрын
Muy completo! Sin embargo, en las restricciones iniciales tengo una pregunta, "x" no debería ser exactamente igual a 1.0 como aparece en la literatura, dado que la variable es binaria? Porque lo pones <=1?
@sergiocorrea1179
@sergiocorrea1179 Жыл бұрын
Eso depende de la formulación que realices. Puedes hacer la prueba y ver si la solución cambia y nos comentas !!!! Gracias por ver.
@sergiocorrea1179
@sergiocorrea1179 Жыл бұрын
Ahora con menor a uno, deja que algunos arcos no se generen. Mientras que con igual a uno, se deben generar al menos uno siempre. Ojo con eso.
@bsabrunosouza
@bsabrunosouza Жыл бұрын
Dear Teacher, How can I set the points?
@sergiocorrea1179
@sergiocorrea1179 Жыл бұрын
Can you be more specific?
@bsabrunosouza
@bsabrunosouza Жыл бұрын
@@sergiocorrea1179 I would like to inform the Points X and y to find the solution.
@sergiocorrea1179
@sergiocorrea1179 Жыл бұрын
@@bsabrunosouza Can you explain better. What do you mean by that you would like to inform the point ?
@bsabrunosouza
@bsabrunosouza Жыл бұрын
@@sergiocorrea1179 I would like to inform the X and Y coordinates instead of the random values, that is, I already have real points and I would like to look for the solution using the code that you exposed in the video.
@sergiocorrea1179
@sergiocorrea1179 Жыл бұрын
@@bsabrunosouza you can do it the same, you just need to create the same data structure with you information. For instance, from a excel file imported as a dataframe and them create the dictionary, I have that solution in a video with Cplex. Although the optimization engine is different, data preparation work for both. Check it out.
@aalmazrouia
@aalmazrouia Жыл бұрын
please thank you for you explanation please how to contact you
@sergiocorrea1179
@sergiocorrea1179 Жыл бұрын
@rodrigoastudillo7378
@rodrigoastudillo7378 Жыл бұрын
Estimado, posee algun contacto?, estoy trabajando mis tesis sobre el SDVRP y tengo q implementar 2-opt a mis rutas-soluciones, y tengo algunas dudas de como implementarlo, seria genial poder contactarnos, super buen material el q brindas, saludos
@sergiocorrea1179
@sergiocorrea1179 Жыл бұрын
@diegonicolasrebolledocontr4829
@diegonicolasrebolledocontr4829 Жыл бұрын
Hola Sergio, gracias por tu video, no me queda muy claro aún la definición para un optimized = false vs optimized = true, donde puedo encontrar mayor información, o una explicación abordable para el analisis de un caso de negocio que estoy manejando. De antemano gracias
@sergiocorrea1179
@sergiocorrea1179 Жыл бұрын
Debiese estar en la documentación, pero no es muy clara. Las constantes de suavización, se deben estimar. El optimized true hace eso, las determina. De lo contrario debes estimarlas tú con los métodos tradicionales.Este es igual para las constantes y para la inicialización.
@diegolozano2397
@diegolozano2397 Жыл бұрын
Colega que gran video, te agradezco infinitamente. Un abrazo grande desde Cali - Colombia 🇨🇴🇨🇴🇨🇴
@deeper_soundfy5528
@deeper_soundfy5528 Жыл бұрын
Hola muy interesante la manera de enseñar. Sin embargo vengo investigando por varios lados y no consigo obtener respuesta con el siguiente problema. Tengo una red entrenada con datos de ventas (por poner un ejemplo) diarias, que abarca un historico de enero de 2010 a diciembre de 2019. OK! Ahora bien, se supone que guardo mi modelo. Yo quiero saber, como podria hacer proyecciones o predicciones para febrero de 2020?. supongamos que yo , tengo los datos de ventas de enero de 2020. Pero quiero que, en base a esos datos, mi modelo (ya que se supone que detecta patrones), me haga una proyeccion para el mes de febrero. En otro lado lei que el modelo en produccion si o si necesitara de toooodo el historico para hacer la prediccion, lo cual me parece poco util y costoso computacionalmente, pasarle al modelo que ya esta "listo", un historico de 2010 a enero de 2020... No se si logre hacerme entender.. Saludos!
@deeper_soundfy5528
@deeper_soundfy5528 Жыл бұрын
ya se que estamos hablando de una media movil que solo desplaza un valor... PERO quizas sepas de que hablo .
@sergiocorrea1179
@sergiocorrea1179 Жыл бұрын
La medias mobiles solo utilizan el promedio de los periodos que tú le indicas. Para pronosticar con ellas solo tiene que utilizar el promedio de los últimos X periodos. Ahora, para calcular el error es que necesitas todo el set de datos. Puedes utilizar otro modelo "similar" y que es la suavización exponencial simple, pero ahora debes almacenar el valor pronosticado para poder utilizar el algoritmo. Finalmente, Medias mobiles no detectan patronos y de hecho tiene un retraso para poder identificar las tendencias.. para idenfiticar patrones debes utilizar la autocorrelación y otros métodos como el test de Dickey-Fuller.
@dextrefernando
@dextrefernando Жыл бұрын
Hola! Muchísimas gracias por tus videos. Dos consultas: 1. cuál sería el algoritmo que está usando del libro? Lo descargué y no encuentro las ecuaciones. y 2. no he podido hacer hacer el diccionario con los colores jaja. Creé uno en el mismo código pero me dice "TypeError: 'dict' object is not callable". Muchas gracias de antemano
@sergiocorrea1179
@sergiocorrea1179 Жыл бұрын
No recuero si ese lo utilice directamente del libro. Pero debiese ser el CVRP con la formulation MTZ para la eliminación de los subtour. Sobre el diccionario tendría que ver el código, pero creo que llamaste al diccionario dict y no se puede por ser una palabra reservada de python. Cambiale el nombre.
@dextrefernando
@dextrefernando Жыл бұрын
@@sergiocorrea1179 muchas gracias por tu respuesta! lo pude solucionar.
@diegolozano2397
@diegolozano2397 Жыл бұрын
Muchas gracias sergio
@rubengamboahurtado6990
@rubengamboahurtado6990 Жыл бұрын
Super gracias por estos videos, Sergio.
@joaquinalejandrogamarramon7099
@joaquinalejandrogamarramon7099 Жыл бұрын
Hola profesor, para colocar la licencia solo permite hacerlo con internet de la universidad correcto? o hay otra manera?
@sergiocorrea1179
@sergiocorrea1179 Жыл бұрын
Efectivamente, Gurobi solo permite validar la licencia si está conectado a un Servidor de una Universidad. Pero hay otras opciones. Puedes utilizar una versión de prueba en google colab, si el problema no es grande o utilizar Cplex (es similar y tengo varios videos también) . No olvides darle me gusta, suscribirte y compatir. !!!!
@thomydrew3294
@thomydrew3294 Жыл бұрын
Hola Sergio! Una consulta, como podría modificar el código de tal manera que yo pueda ingresar la información y está no sea random ?
@sergiocorrea1179
@sergiocorrea1179 Жыл бұрын
Estimado, solo debes leer la información de un archivo o ingresarla manualmente. Hay un video que tengo con Cplex, donde se lee la información desde un Excel y calcula las distancias con Google Maps. No te olvides de suscribir y compartir.
@fabianignacioquitralmolina1942
@fabianignacioquitralmolina1942 Жыл бұрын
you are crack my hommie
@valeriadiazfigueroa4207
@valeriadiazfigueroa4207 Жыл бұрын
Muy bien explicado, gracias!!
@sergioandressilvamora444
@sergioandressilvamora444 Жыл бұрын
Hola Sergio, tengo un modelo que no he sido capaz de modelar, usted puede echar una mano.
@sergiocorrea1179
@sergiocorrea1179 Жыл бұрын
Contacteme y lo vemos: [email protected]
@sergioandressilvamora444
@sergioandressilvamora444 Жыл бұрын
@@sergiocorrea1179 Hola Sergio , te envió un correo un par de días atrás mil gracias.
@qwerqwer10017
@qwerqwer10017 Жыл бұрын
thank you
@thomydrew3294
@thomydrew3294 Жыл бұрын
Hola Sergio ! Geniales tus vídeos, una consulta! si tengo que poner valores (puntos de distribución ) como input para 2 empresas en competencia, que modelo me recomiendas de optimización para calcular lo que genera cada una y a cual recomendar en que sucursal ? Me pasa que tengo varias sucursales con distintos pesos cada una, algún programa que me recomiende tomar decisiones sobre en qué lugar invertir y poder ver la sensibilidad de lo que aumenta y hace perder a la competencia ?
@sergiocorrea1179
@sergiocorrea1179 Жыл бұрын
Creo que falta más explicación para dar una respuesta más asertiva. Pero por lo que entiendo podrías cambiar la función objetivo a costo o utilidad. Para una mejor respuesta necesitaría poder saber un poco de mas detalle.
@daniferval
@daniferval Жыл бұрын
Gracias por el video, sin embargo me queda la duda, al final se hace un arco de de i+1 a j+1, pero no hay un arco de de i a j, como se entendería desde la gráfica ¿ Por qué?
@sergiocorrea1179
@sergiocorrea1179 Жыл бұрын
Los arcos de la solución que se quieren mejorar son de i a j, por lo que estas buscando otras combinaciones que puedan mejorar la solución. La modificación es pequeña, por eso se llama búsqueda local. Gracias por ver y no te olvides de compartir y suscribir !!!! cualquier duda consulta.
@daniferval
@daniferval Жыл бұрын
@@sergiocorrea1179 Con mucho gusto Sergio. Gracias
@_Ashling
@_Ashling 2 жыл бұрын
This video is amazing thank you! Hello from Georgia Tech :)
@sergiocorrea1179
@sergiocorrea1179 2 жыл бұрын
Thank you !!!! good luck
@jorgeeg2668
@jorgeeg2668 2 жыл бұрын
Profe muchas gracias por el video, pero que puedo hacer si no me aparece la carpeta IBM
@sergiocorrea1179
@sergiocorrea1179 2 жыл бұрын
Puede que lo hayas instalado en otra parte, pero es importante encontrarla, sino no puede conectarlos. Puedes utilizar Gurobi también.
@jorgeeg2668
@jorgeeg2668 2 жыл бұрын
Muchas gracias por el tutorial, pero como haria si no quisiera los datos aleatorios si no unas coordenadas definidas? No domino mucho python, pero con este video ya tengo idea por donde empezar
@sergiocorrea1179
@sergiocorrea1179 2 жыл бұрын
Solo debes cargar las coordenadas. Hay un video con cplex que utiliza coordenadas y gráfica en mapas utilizando google maps !!!
@hernanpabloguevel9817
@hernanpabloguevel9817 2 жыл бұрын
Hola. Excelentes los videos. Tengo el siguiente problema, si aprieto "tab" no aparecen las sugerencias, Alguna idea de cómo podría solucionarse?
@sergiocorrea1179
@sergiocorrea1179 2 жыл бұрын
Eso suele pasar si no se ha corrido la librería primero.
@carlosochoa8831
@carlosochoa8831 2 жыл бұрын
Cuando resuelvo el modelo me tira el error "DOcplexException: Cannot solve model: no CPLEX runtime found." pero no he dado con la solución, estoy usando Colab, ¿es parte de la instalación del mismo COPLEX en este ambiente?
@sergiocorrea1179
@sergiocorrea1179 2 жыл бұрын
Eso quiere decir que no has hecho la variable de sistema ( python path), si estas en windows hay un video de como hacerlo. En colab no se como podrias, es mejor usar la versión online de gurobi que funciona en colab, pero no resuelve modelos muy grandes. La otra alternativa es habilitar la nube de Cplex y resolver en sus servidores.