- Видео 61
- Просмотров 75 984
Alexagre Ingeniería
Колумбия
Добавлен 27 мар 2022
Programación lineal, optimización de procesos, simulación y estadística, empleando herramientas como excel, matlab, AMPL y otros.
Si deseas apoyar este proyecto puedes hacerlo a través de mis perfiles en Patreon, OnlyFans o en Bitcoin:
Wallet: bc1quaevsxmlca26h0zxn4r8yj0g2dhutg3rgekaqr
Si deseas apoyar este proyecto puedes hacerlo a través de mis perfiles en Patreon, OnlyFans o en Bitcoin:
Wallet: bc1quaevsxmlca26h0zxn4r8yj0g2dhutg3rgekaqr
Problema de las mezclas | Programación lineal | Planeación producción | Aplicado a una refinería
Problema de las mezclas aplicado a un plan de producción de una refinería, en el cual se debe esablecer la mezcla adecuadad de petróleos para producir dos tipos de gasolinas. Se emplea programación lineal en el solver de excel y Matlab.
#ProblemaDeLasMezclas #Refineria #Gasolina #Mezclas #PlaneacionDeProduccion #ProgramacionLineal #InvestigacionDeOperaciones #IngenieriaIndustrial #Excel #Solver #Matlab
Contacto:
alexagre30@gmail.com
Instagram: @alexagre20
patreon.com/alexagreingenieria
onlyfans.com/alexagreingenieria
Bitcoin wallet: bc1quaevsxmlca26h0zxn4r8yj0g2dhutg3rgekaqr
Música de fondo:
------------------------------------
Blue Mood - Robert Munzinger
------------------------------------
#ProblemaDeLasMezclas #Refineria #Gasolina #Mezclas #PlaneacionDeProduccion #ProgramacionLineal #InvestigacionDeOperaciones #IngenieriaIndustrial #Excel #Solver #Matlab
Contacto:
alexagre30@gmail.com
Instagram: @alexagre20
patreon.com/alexagreingenieria
onlyfans.com/alexagreingenieria
Bitcoin wallet: bc1quaevsxmlca26h0zxn4r8yj0g2dhutg3rgekaqr
Música de fondo:
------------------------------------
Blue Mood - Robert Munzinger
------------------------------------
Просмотров: 484
Видео
Regresión lineal múltiple | Pronóstico | Anodizado | Celda electroquímica
Просмотров 5811 месяцев назад
Regresión lineal múltiple aplicado a un proceso de anodizado de aluminio para estudiar el efecto del pH y la temperatura en el espesor del anodizado. #RegresionLineal #RegresionLinealMultiple #Pronostico #TablaDedatos #InvestigacionDeOperaciones #IngenieriaIndustrial Contacto: alexagre30@gmail.com Instagram: @alexagre20 patreon.com/alexagreingenieria onlyfans.com/alexagreingenieria Bitcoin wall...
Simulación Montecarlo | Pronóstico de demanda | Tabla de datos | Tienda de revistas
Просмотров 1,2 тыс.Год назад
Simulación Montecarlo aplicado al pronóstico de la demanda de una tienda de revistas. #Montecarlo #Simulacion #Pronostico #Demanda #TablaDedatos #InvestigacionDeOperaciones #IngenieriaIndustrial Contacto: alexagre30@gmail.com Instagram: @alexagre20 patreon.com/alexagreingenieria onlyfans.com/alexagreingenieria Bitcoin wallet: bc1quaevsxmlca26h0zxn4r8yj0g2dhutg3rgekaqr Música de fondo: I Had a F...
Secuenciación de procesos | Algoritmo Palmer | Job-shop scheduling | Gantt
Просмотров 342Год назад
Secuenciación de procesos de una microcervecería empleando el algoritmo de Palmer y creación del diagrama de Gantt para visualizar la programación. #Scheduling #Jobshop #Secuenciación #Gantt #Palmer #InvestigacionDeOperaciones #IngenieriaIndustrial Contacto: alexagre30@gmail.com Instagram: @alexagre20 patreon.com/alexagreingenieria onlyfans.com/alexagreingenieria Bitcoin wallet: bc1quaevsxmlca2...
Secuenciación de procesos | Método de Johnson | Job-shop scheduling | Gantt
Просмотров 830Год назад
Secuenciación de procesos de una microcervecería empleando el método de Johnson y creación del diagrama de Gantt para visualizar la programación. #Scheduling #Jobshop #Secuenciación #Gantt #InvestigacionDeOperaciones #IngenieriaIndustrial Contacto: alexagre30@gmail.com Instagram: @alexagre20 patreon.com/alexagreingenieria onlyfans.com/alexagreingenieria Bitcoin wallet: bc1quaevsxmlca26h0zxn4r8y...
Simulación Montecarlo | Juego de la moneda
Просмотров 678Год назад
Lanzamientos de una moneda simulados con el método Montecarlo, se resuelve en Excel. #Montecarlo #Simulacion #Excel #InvestigacionDeOperaciones #IngenieriaIndustrial Contacto: alexagre30@gmail.com Instagram: @alexagre20 patreon.com/alexagreingenieria onlyfans.com/alexagreingenieria Bitcoin wallet: bc1quaevsxmlca26h0zxn4r8yj0g2dhutg3rgekaqr Música de fondo: Dreams Of River Ganga - Hanu Dixit
Problema de la mochila | Knapsack Problem | Programación lineal
Просмотров 4,9 тыс.Год назад
Problema de la mochila aplicado a la elección de objetos para ir a acampar, se resuelve en el solver de Excel. #ProblemaDeLaMochila #KnapsackProblem #Excel #ProgramacionLineal #InvestigacionDeOperaciones #IngenieriaIndustrial Contacto: alexagre30@gmail.com Instagram: @alexagre20 patreon.com/alexagreingenieria onlyfans.com/alexagreingenieria Bitcoin wallet: bc1quaevsxmlca26h0zxn4r8yj0g2dhutg3rge...
Ruta más corta | Problema del transporte | Residuos nucleares
Просмотров 185Год назад
Método de la ruta más corta aplicado al transporte de residuos nucleares hasta un depósito autorizado. Se usa excel para resolver el modelo. #RutaMasCorta #ResiduoNuclear #Excel #ProblemaDelTransporte #ProgramacionLineal #InvestigacionDeOperaciones #IngenieriaIndustrial Contacto: alexagre30@gmail.com Instagram: @alexagre20 patreon.com/alexagreingenieria onlyfans.com/alexagreingenieria Bitcoin w...
Calentamiento global | Efecto invernadero explicado
Просмотров 89Год назад
Breve explicación del efecto invernadero, sus causas y consecuencias. #CalentamientoGlobal #EfectoInvernadero #GasesEfectoInvernadero #Sol #Tierra Contacto: alexagre30@gmail.com Instagram: @alexagre20 TikTok: @alexagre20 patreon.com/alexagreingenieria onlyfans.com/alexagreingenieria Bitcoin wallet: bc1quaevsxmlca26h0zxn4r8yj0g2dhutg3rgekaqr Música de fondo: Warzone - Anno Domini Beats
Problema de los cortes de rollos | Programación lineal | Excel Vs Matlab
Просмотров 729Год назад
Modelo de programación lineal para resolver el problema de los cortes aplicado a una empresa que fabrica rollos de papel, se busca minimizar el desperdicio de rollos a cortar y satisfacer la demanda, el modelo se resuelve con el solver de Excel y se compara con los resultados de solver de Matlab. #ProblemaDeLosCortes #Matlab #Excel #ProgramacionLineal #InvestigacionDeOperaciones #IngenieriaIndu...
Problema de los cortes | Programación lineal | Excel Vs Matlab
Просмотров 325Год назад
Modelo de programación lineal para resolver el problema de los cortes aplicado a una ferretería donde se busca minimizar el desperdicio de tubos a cortar y satisfacer la demanda, el modelo se resuelve con el solver de Excel y se compara con los resultados de solver de Matlab. #ProblemaDeLosCortes #Matlab #Excel #ProgramacionLineal #InvestigacionDeOperaciones #IngenieriaIndustrial Contacto: alex...
Optimización entera binaria | Estudio para adquisición de aviones comerciales | Excel vs Matlab
Просмотров 237Год назад
Modelo de optimización entera binaria aplicada a un estudio de adquisición de aviones comerciales en el cual se requiere maximizar la utilidad. #OptimizacionEnteraBinaria #ProgramacionEnteraBinaria #ProgramacionLineal #IngenieriaIndustrial #Solver #Excel #Matlab Contacto: alexagre30@gmail.com Instagram: @alexagre20 Canción de fondo: Keep On Movin' - King Canyon
Programación no lineal | Método gráfico | GRG Nonlinear
Просмотров 549Год назад
Modelo de programación no lineal resuelto por el solver de Excel GRG Nonlinear y gráficamente con Matlab. #MetodoGrafico #ProgramacionNoLineal #GRGNonlinear #Matlab #InvestigacionDeOperaciones #IngenieriaIndustrial Contacto: alexagre30@gmail.com Instagram: @alexagre20 patreon.com/alexagreingenieria onlyfans.com/alexagreingenieria Bitcoin wallet: bc1quaevsxmlca26h0zxn4r8yj0g2dhutg3rgekaqr Música...
Cálculo de probabilidad con distribución normal (Gauss)
Просмотров 399Год назад
Cálculo de probabilidad con la curva de distribución normal para determinar la probabilidad de ocurrencia de un evento, en este caso, la velocidad registrada en el momento de un accidente de tránsito. Se usa Excel para resolver el ejercicio. #DistribucionNormal #Gauss #Probabilidad #Estadistica #Excel #InvestigacionDeOperaciones #IngenieriaIndustrial Contacto: alexagre30@gmail.com Instagram: @a...
Método gráfico simplex con Python | Programación lineal
Просмотров 3,2 тыс.Год назад
Modelo de programación lineal resuelto por el método simplex empleando Python para graficar el resultado. #MetodoGrafico #Simplex #Python #ProgramacionLineal #InvestigacionDeOperaciones #IngenieriaIndustrial Contacto: alexagre30@gmail.com Instagram: @alexagre20 patreon.com/alexagreingenieria onlyfans.com/alexagreingenieria Bitcoin wallet: bc1quaevsxmlca26h0zxn4r8yj0g2dhutg3rgekaqr Música de fon...
Método simplex tabular | Programación lineal
Просмотров 3,5 тыс.Год назад
Método simplex tabular | Programación lineal
AMPL en Python | Programación lineal | Google Colab
Просмотров 1,4 тыс.Год назад
AMPL en Python | Programación lineal | Google Colab
AMPL en Python | Programación lineal modelo compacto
Просмотров 824Год назад
AMPL en Python | Programación lineal modelo compacto
Programación no lineal aplicada | GRG Non linear de Excel
Просмотров 4472 года назад
Programación no lineal aplicada | GRG Non linear de Excel
Programación por metas con Matlab | Restricciones sobre el intervalo de la meta
Просмотров 1452 года назад
Programación por metas con Matlab | Restricciones sobre el intervalo de la meta
Programación por metas | Restricciones sobre el intervalo de la meta
Просмотров 7672 года назад
Programación por metas | Restricciones sobre el intervalo de la meta
Programación no lineal | Plan de producción con GRG Nonlinear de Excel
Просмотров 6762 года назад
Programación no lineal | Plan de producción con GRG Nonlinear de Excel
Programación no lineal aplicado a un plan de producción | GRG NonLinear
Просмотров 4352 года назад
Programación no lineal aplicado a un plan de producción | GRG NonLinear
Programación lineal | Planeación de la producción con Matlab
Просмотров 5982 года назад
Programación lineal | Planeación de la producción con Matlab
Programación por metas con Matlab | Plan de mercadeo
Просмотров 1332 года назад
Programación por metas con Matlab | Plan de mercadeo
Programación por metas | Programación multiobjetivo a un plan de mercadeo
Просмотров 1,4 тыс.2 года назад
Programación por metas | Programación multiobjetivo a un plan de mercadeo
Programación lineal | Planeación de la producción aplicado a una refinería de petróleo
Просмотров 1,2 тыс.2 года назад
Programación lineal | Planeación de la producción aplicado a una refinería de petróleo
Programación de turnos de trabajo con Matlab
Просмотров 2612 года назад
Programación de turnos de trabajo con Matlab
Programación de turnos de trabajo con Excel
Просмотров 16 тыс.2 года назад
Programación de turnos de trabajo con Excel
Determinación de Zn mediante adición de estándar
Просмотров 3572 года назад
Determinación de Zn mediante adición de estándar
Excelente
Creo que faltó algo como restricción, porque si el programa le dice que no lleve alimentos, entonces para que lleva platos y cubiertos
GENIOOOOOOO, ME SALVASTE LA VIDAAAAAAA
Buen video y muy útil pero como se llama la canción de fondo?
Scandinavianz - Hiking hypeddit.com/t... / @scandinavianz www.buymeacoffee.com/Scandinavianz
@@alexagreingenieria Gracias. Sigue posteando video de utilidad
Muy buena didáctica y video. Felicidades.
¡¡Me haz salvado!! Gracias usuario de yt que sube un tutorial que ocupo en mi vida
Gracias, muchas, muchas, muchas gracias <3 tu video es la respuesta a mi oración
Hermano me salvaste la vida, tantos videos de hacer matrices y todo eso y doy con el tuyo. Dios te bendiga hermano mas videos de este tema porfavor mas mas variables xd
Por que no agregaste variables de desviación a la restricción del presupuesto?
Por ser una restricción dura. Es decir, 14,000 es el presupuesto máximo a invertir y por lo tanto no vamos a aceptar resultados en donde el presupuesto sea mayor, dicha restricción no es flexible como las demás. Saludos
saludos ¿tendrá el archivo de excel?
@@luisw6340 Hola, sí lo tengo. Dame tu correo para compartirlo.
Profe, una duda por que agregarle esas variables M y binaria t, que lo hace necesario? por que no resolverlo sin ellas?
Ayudaaa, pongo tal cual la misma línea de comandos pero como respuesta me sale 3.7000000000e+02
Hola, esa expresión es equivalente a decir 370. Matlab a veces genera resultados en notación científica, por lo tanto solo debes correr el punto dos posiciones y llegas al entero 370. Saludos.
A2 T3, 225? no coincide el gráfico con la capacidad, me confundí
si uno de los numeros de la columna pivote ya es 0, se mantienen los valores de toda la fila es decir, no se calcula nada?
Hola, es correcto. Debes mantener los mismos valores y tratar los demás números de la columna pivote.
por que la función objetivo solo es suma
Gracias! Gracias! Gracias!
Eexcelente explicación!!. Cómo podríamos graficar la función objetivo, que debe pasar por el punto oótimo?. Deberíamos agregarla en el código Python.
Nosotros tenemos una sola bacteria, litonotus, cómo podemos hacer para tener todas las bacterias? Tratamos efluentes industrial de alimentación
Antes teníamos varias pero no sé por qué razón se fueron desapareciendo
Hola Rodrigo, puedes enriquecer el reactor con un poco de urea, si algunos microorganismos han desaparecido puede ser posiblemente por descargas de sustancias de limpieza con alta concentración o biocidas. Te recomiendo revisar tu proceso para descartar posibles sustancias que puedan estar afectando la flora de tu sistema. Saludos
Muy claro ; gracias
Xnr = optimvar('Xnr'); Xne = optimvar('Xne'); Xir = optimvar('Xir'); Xie = optimvar('Xie'); Xnr.LowerBound = 0; Xne.LowerBound = 0; Xir.LowerBound = 0; Xie.LowerBound = 0; p = optimproblem("ObjectiveSense","maximize"); p.Objective = 12.*(Xnr+Xir)+14.*(Xne+Xie) - 8.*(Xnr+Xne)-15.*(Xir+Xie); p.Constraints.DemRegmax = Xnr+Xir <= 50000; p.Constraints.DemRegmin = Xnr+Xir >= 10000; p.Constraints.DemExmax = Xne+Xie <= 5000; p.Constraints.DemExmin = Xne+Xie >= 2000; p.Constraints.InvNal = Xnr+Xne <= 40000; p.Constraints.InvImp = Xir+Xie <= 60000; p.Constraints.PVreg = 25*Xnr + 15*Xir <= 23.*(Xnr+Xir); p.Constraints.PVext = 25*Xne + 15*Xie <= 23.*(Xne+Xie); p.Constraints.Octreg = 87*Xnr + 98*Xir >= 88.*(Xnr+Xir); p.Constraints.Octext = 87*Xne + 98*Xie >= 93.*(Xne+Xie); sol = solve(p, 'Solver', 'intlinprog');
Necesito hacer una cartelera para auxiliares en una residencia. Tienen que trabajar 1754 horas anuales, trabajan a turnos de M, T y noche los 7 días a la semana, pero descansan 1.5 dias a la semana cada trabajador. Tienen un mes natural de vacaciones y 4 días de asuntos propios. Necesito con estas premisas hacer una hoja de Excel, es decir una cartelera para cada mes del año. Si alguien me puede ayudar lo agradecería... 😊
Una muy completa aplicación de la vida real de la simulación Montecarlo.
Alex, ví primero el vídeo del algoritmo de Palmer. Dependiendo de la complejidad del proceso sería mas completo el algoritmo de Palmer vs Johnson?
Ambas herramientas son heurísticas que pueden emplearse según la necesidad, sin embargo, Palmer ofrece una ecuación la cual puedes programar y automatizar un proceso de varias etapas, situación que con Jhonson podría ser un poco más complejo. Saludos
Excelente lección, en lo personal no conocía el algortimo de Palmer.
Felicitaciones... muy buen video...... se podría comprobar la solución de una matriz de 9x9 por el método de Gauss -Jordán ? en el programa google Colab
Probe un caso con 20 objetos comparando con un programa que hice y que resuelve el problema y encontró una mejor solución que la que me da excel. Es decir no me dio la optima excel.
Hola Juan, es cierto, el solver de Excel es muy genérico y no siempre garantiza el mejor resultado en problemas más complejos; es muy útil para enseñar estas heurísticas en ejercicios sencillos. Tengo videos en donde se comparan los resultados de Excel con los solver de Matlab y AMPL. Te invito a darles un vistazo para que veas la diferencia de los resultados.
Hola, muy buen video, pero me surge una duda... cuando tengo una variable de restricción, por ejemplo, donde x <= 40, ¿cómo se puede graficar?
Hola, esa restricción representa una línea recta horizontal con intercepción en 40 y podría graficarse agregando la siguiente línea: plt.plot(x1,x1,label='x1<=40') Ten en cuenta que antes deben declararse las variables adecuadas. Saludos.
el beneficio 1 es más importante ? y 20 menos importante ?
Hola, el ejercicio esta enfocado en explicar un poco la heurística de la mochila y claro es muy ilógico no llevar alimentos al campamento aunque tenga considerado ir a cazar 😅 Saludos.
Excelente video, muchas gracias. me gustaría saber si existe la forma de calcular los tiempos de detención entre procesos.
Muy didáctico. Felicitaciones
Gracias profe, muy bueno el ejercicio
Muchas gracias por la explicación!
Excelente explicación!!!
Muy Bueno !!!!
hago un copy paste de tu código en la plataforma y siempre me aparece error, me registro y coloco mi clave pero nada
Además intento hacerlo desde la aplicación de AMPL en archivos separados y si bien me dan los mismos resultados en recursos me dice que me queda 2.5 de MET y 5 de ELC, cuanto al final con 125 CTV y 25 PRL te deberían quedar 0 en ambas
Hola @@sebastianandres2926 acabo de ejecutar el código y tienes razón, sale un error pero al parecer es por que actualizaron la línea de código para la licencia de AMPL en Python. Intenta lo siguiente (a mí me funcionó). En cajas separadas de código de Colab escribe lo siguiente:
# The only 3 lines you need to install and use AMPL with any solver on Colab %pip install -q amplpy from amplpy import AMPL, ampl_notebook ampl = ampl_notebook( modules=["highs", "gurobi"], # modules to install license_uuid="your-license-uuid", # license to use ) # instantiate AMPL object and register magics
%%writefile elect.mod set PROD; set REC; param PVENTA{i in PROD}; param DISP{j in REC}; param REQ{i in PROD, j in REC}; var x{i in PROD} >=0; maximize utilidad: sum{i in PROD}(PVENTA[i] * x[i]); subject to recursos{j in REC}: sum{i in PROD}(REQ[i,j] * x[i]) <= DISP[j];
%%writefile elect.dat data; set PROD := CTV PARL; set REC := MET ELC; param: PVENTA:= CTV 10 PARL 20; param: DISP:= MET 200 ELC 300; param REQ: MET ELC:= CTV 1 2 PARL 3 2;
Ññññpppp
Muy buen video!! Excelente explicación 👍
Como resuelvo con cplex?
Hola, la antepenúltima línea del código la cambias por ésta: option solver cplex;
Excelente contenido, muchas gracias por la explicación!
Excelente contenido, muchas gracias!
Mi canal favorito, siempre aprendo gracias Alexagre
Gracias a ti por el apoyo...
Muy buen ejemplo, tengo un ejercicio similar, podría recibir tutoría?
Hola, sí por supuesto. Escríbeme a alexagre30@gmail.com
#Código en Matlab del video: a = optimvar('a','Type','integer'); b = optimvar('b','Type','integer'); c = optimvar('c','Type','integer'); d = optimvar('d','Type','integer'); p = optimproblem("ObjectiveSense","minimize"); p.Objective = a+b+c+d; p.Constraints.Medida4 = 3*a + b + d >= 150; p.Constraints.Medida5 = 2*c + d >= 200; p.Constraints.Medida6 = b >= 300; p.Constraints.R1 = a >= 0; p.Constraints.R2 = b >= 0; p.Constraints.R3 = c >= 0; p.Constraints.R4 = d >= 0; Sol = solve(p, 'Solver', 'intlinprog');
Muy buen ejemplo, tengo un ejercicio similar, podría recibir tutoría?
#CódigoAMPL del video: %%writefile maq.mod set PROD; #Conjunto de productos set MAQ; #Conjunto de máquinas param PVENTA {i in PROD}; # Valor de los productos param DEM {i in PROD}; # Demanda de los productos param DISP {j in MAQ}; # Disponibilidad de recursos param REQ {i in PROD, j in MAQ}; # Requerimiento de máquinas por cada productos param CF {i in PROD}; #Costo de fabricación por ítem var x {i in PROD} >=0; maximize utilidad: sum {i in PROD}(PVENTA[i] * x[i]) - sum{i in PROD}(CF[i] * x[i]); subject to demanda {i in PROD}: x[i] >= DEM[i]; subject to disponibilidad {j in MAQ}: sum{i in PROD} REQ[i,j] * x[i] <= DISP[j]; %%writefile maq.dat data; set PROD := P1 P2 P3 P4; set MAQ := MQ1 MQ2 MQ3; param: PVENTA:= P1 75 P2 70 P3 55 P4 45; param: DEM:= P1 10 P2 50 P3 20 P4 30; param: CF:= P1 63 P2 52 P3 53 P4 34; param: DISP:= MQ1 500 MQ2 380 MQ3 450; param REQ: MQ1 MQ2 MQ3:= P1 2 3 7 P2 3 2 3 P3 4 1 2 P4 2 2 1; %%ampl_eval model maq.mod; data maq.dat; option solver cbc; solve; display x, utilidad;
#CódigoAMPL del video: %%writefile elect.mod set PROD; set REC; param PVENTA{i in PROD}; param DISP{j in REC}; param REQ{i in PROD, j in REC}; var x{i in PROD} >=0; maximize utilidad: sum{i in PROD}(PVENTA[i] * x[i]); subject to recursos{j in REC}: sum{i in PROD}(REQ[i,j] * x[i]) <= DISP[j]; %%writefile elect.dat data; set PROD := CTV PARL; set REC := MET ELC; param: PVENTA:= CTV 10 PARL 20; param: DISP:= MET 200 ELC 300; param REQ: MET ELC:= CTV 1 2 PARL 3 2; %%ampl_eval model elect.mod; data elect.dat; option solver cbc; solve; display x, utilidad, recursos;
#CódigoMatlab del video: x = optimvar('x','Type','continuous'); y = optimvar('y','Type','continuous'); u1 = optimvar('u1','Type','continuous'); v1 = optimvar('v1','Type','continuous'); u2 = optimvar('u2','Type','continuous'); v3 = optimvar('v3','Type','continuous'); u4 = optimvar('u4','Type','continuous'); v4 = optimvar('v4','Type','continuous'); x.LowerBound = 0; y.LowerBound = 0; u1.LowerBound = 0; v1.LowerBound = 0; u2.LowerBound = 0; v3.LowerBound = 0; u4.LowerBound = 0; v4.LowerBound = 0; p = optimproblem("ObjectiveSense","minimize"); p.Objective = u1 + v1 + u2 + v3 + u4 + v4; p.Constraints.tiempo = 10*x + 5*y + u1 - v1 == 3200; p.Constraints.madera = x + 0.5*y + u2 <= 300; p.Constraints.mesas = x - v3 >= 200; p.Constraints.sillasmin = y + u4 >= 200; p.Constraints.sillasmax = y - v4 <= 250; sol = solve(p, 'Solver', 'intlinprog');
#CódigoMatlab del video: x = optimvar('x','Type','continuous'); y = optimvar('y','Type','continuous'); u1 = optimvar('u1','Type','continuous'); v1 = optimvar('v1','Type','continuous'); u2 = optimvar('u2','Type','continuous'); v2 = optimvar('v2','Type','continuous'); u3 = optimvar('u3','Type','continuous'); v3 = optimvar('v3','Type','continuous'); x.LowerBound = 0; y.LowerBound = 0; u1.LowerBound = 0; v1.LowerBound = 0; u2.LowerBound = 0; v2.LowerBound = 0; u3.LowerBound = 0; v3.LowerBound = 0; p = optimproblem("ObjectiveSense","minimize"); p.Objective = u1 + v1 + u2 + v2 + u3 + v3; p.Constraints.presupuesto = 1500*x + 3000*y <= 14000; p.Constraints.adolescentes = 200*x + u1 - v1 == 1000; p.Constraints.jovenes = 100*x + 400*y + u2 - v2 == 1200; p.Constraints.adultos = 250*y + u3 - v3 == 800; sol = solve(p, 'Solver', 'intlinprog');
#CódigoMatlab del video: R = optimvar('R'); P = optimvar('P'); G = optimvar('G'); x = optimvar('x'); y = optimvar('y'); z = optimvar('z'); m = optimvar('m'); n = optimvar('n'); o = optimvar('o'); A = optimvar('A'); B = optimvar('B'); R.LowerBound = 0; P.LowerBound = 0; G.LowerBound = 0; x.LowerBound = 0; y.LowerBound = 0; z.LowerBound = 0; m.LowerBound = 0; n.LowerBound = 0; o.LowerBound = 0; A.LowerBound = 0; B.LowerBound = 0; p = optimproblem("ObjectiveSense","maximize"); p.Objective = 50.*(R-x)+70.*(P-y)+120.*(G-z) - (10*m+15*n+20*o) - (2*x+3*y+4*z) - (30*A+40*B); p.Constraints.CA = A <= 2500; p.Constraints.CB = B <= 3000; p.Constraints.RR = R == 0.2*A + 0.25*B; p.Constraints.RP = P == 0.1*A + 0.3*B; p.Constraints.RG = G == 0.25*A + 0.1*B; p.Constraints.DR = R + m - x == 500; p.Constraints.DP = P + n - y == 700; p.Constraints.DG = G + o - z == 400; sol = solve(p, 'Solver', 'intlinprog');
#CódigoMatlab del video: L = optimvar('L','Type','continuous'); M = optimvar('M','Type','continuous'); E = optimvar('E','Type','continuous'); J = optimvar('J','Type','continuous'); R = optimvar('R','Type','continuous'); S = optimvar('S','Type','continuous'); D = optimvar('D','Type','continuous'); t = optimvar('t','Type','continuous'); u = optimvar('u','Type','continuous'); v = optimvar('v','Type','continuous'); w = optimvar('w','Type','continuous'); x = optimvar('x','Type','continuous'); y = optimvar('y','Type','continuous'); z = optimvar('z','Type','continuous'); L.LowerBound = 0; M.LowerBound = 0; E.LowerBound = 0; J.LowerBound = 0; R.LowerBound = 0; S.LowerBound = 0; D.LowerBound = 0; t.LowerBound = 0; u.LowerBound = 0; v.LowerBound = 0; w.LowerBound = 0; x.LowerBound = 0; y.LowerBound = 0; z.LowerBound = 0; p = optimproblem("ObjectiveSense","minimize"); p.Objective = 120*(L + M + E + J + R + S + D) + 40*(t + u + v + w + x + y + z); p.Constraints.lun = L+J+R+S+D + t+w+x+y+z >= 170; p.Constraints.mar = L+M+R+S+D + t+u+x+y+z >= 130; p.Constraints.mie = L+M+E+S+D + t+u+v+y+z >= 150; p.Constraints.jue = L+M+E+J+D + t+u+v+w+z >= 190; p.Constraints.vie = L+M+E+J+R + t+u+v+w+x >= 140; p.Constraints.sab = M+E+J+R+S + u+v+w+x+y >= 160; p.Constraints.dom = E+J+R+S+D + v+w+x+y+z >= 110; p.Constraints.nomina = t+u+v+w+x+y+z <= 0.25*(L+M+E+J+R+S+D + t+u+v+w+x+y+z); sol = solve(p, 'Solver', 'intlinprog');
se puede usar la programación entera en matlab?, ya que, son personas los resultados.
@@SoldierLuigi Hola, claro que se puede. En la declaración de variables escribes integer para que el Matlab te genere resultados enteros
#CódigoMatlab del video: q = optimvar('q','Type','integer'); r = optimvar('r','Type','integer'); s = optimvar('s','Type','integer'); t = optimvar('t','Type','integer'); u = optimvar('u','Type','integer'); v = optimvar('v','Type','integer'); w = optimvar('w','Type','integer'); x = optimvar('x','Type','integer'); y = optimvar('y','Type','integer'); z = optimvar('z','Type','integer'); q.LowerBound = 0; q.UpperBound = 1; r.LowerBound = 0; r.UpperBound = 1; s.LowerBound = 0; s.UpperBound = 1; t.LowerBound = 0; t.UpperBound = 1; u.LowerBound = 0; u.UpperBound = 1; v.LowerBound = 0; v.UpperBound = 1; w.LowerBound = 0; w.UpperBound = 1; x.LowerBound = 0; x.UpperBound = 1; y.LowerBound = 0; y.UpperBound = 1; z.LowerBound = 0; z.UpperBound = 1; p = optimproblem("ObjectiveSense","minimize"); p.Objective = 6*q + 4*r + 7*s + 5*t + 4*u + 6*v + 5*w + 3*x + 7*y + 6*z; p.Constraints.Camiones = q + r + s + t + u + v + w + x + y + z <= 3; p.Constraints.Roldanillo = q + u + y >= 1; p.Constraints.Alcala = r + t + v + y + z >= 1; p.Constraints.Cartago = s + t + w + y >= 1; p.Constraints.Yumbo = q + v + x >= 1; p.Constraints.LaUnion = s + t + v >= 1; p.Constraints.Trujillo = r + u >= 1; p.Constraints.Palmira = q + w + x + z >= 1; p.Constraints.Tulua = s + u + z >= 1; p.Constraints.Buga = r + t + w >= 1; sol = solve(p, 'Solver', 'intlinprog');