Пікірлер
@valentinpp6436
@valentinpp6436 10 күн бұрын
GENIOOOOOOO, ME SALVASTE LA VIDAAAAAAA
@alvaroibarra8846
@alvaroibarra8846 Ай бұрын
Buen video y muy útil pero como se llama la canción de fondo?
@alexagreingenieria
@alexagreingenieria Ай бұрын
Scandinavianz - Hiking hypeddit.com/t... / @scandinavianz www.buymeacoffee.com/Scandinavianz
@alvaroibarra8846
@alvaroibarra8846 Ай бұрын
@@alexagreingenieria Gracias. Sigue posteando video de utilidad
@marcoantoniogonzalezmorale5228
@marcoantoniogonzalezmorale5228 Ай бұрын
Muy buena didáctica y video. Felicidades.
@ojitosverdez
@ojitosverdez 2 ай бұрын
¡¡Me haz salvado!! Gracias usuario de yt que sube un tutorial que ocupo en mi vida
@Issac_Elias
@Issac_Elias 2 ай бұрын
Gracias, muchas, muchas, muchas gracias <3 tu video es la respuesta a mi oración
@burgospechjesusemiliano8775
@burgospechjesusemiliano8775 2 ай бұрын
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
@benjuarez8397
@benjuarez8397 2 ай бұрын
Por que no agregaste variables de desviación a la restricción del presupuesto?
@alexagreingenieria
@alexagreingenieria 2 ай бұрын
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
@luisw6340
@luisw6340 2 ай бұрын
saludos ¿tendrá el archivo de excel?
@alexagreingenieria
@alexagreingenieria 2 ай бұрын
@@luisw6340 Hola, sí lo tengo. Dame tu correo para compartirlo.
@azaleapedrero6946
@azaleapedrero6946 3 ай бұрын
Profe, una duda por que agregarle esas variables M y binaria t, que lo hace necesario? por que no resolverlo sin ellas?
@javychojd725
@javychojd725 3 ай бұрын
Ayudaaa, pongo tal cual la misma línea de comandos pero como respuesta me sale 3.7000000000e+02
@alexagreingenieria
@alexagreingenieria 3 ай бұрын
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.
@ayelenkia2646
@ayelenkia2646 4 ай бұрын
A2 T3, 225? no coincide el gráfico con la capacidad, me confundí
@kiwii9766
@kiwii9766 4 ай бұрын
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?
@alexagreingenieria
@alexagreingenieria 4 ай бұрын
Hola, es correcto. Debes mantener los mismos valores y tratar los demás números de la columna pivote.
@robertalvarezrios153
@robertalvarezrios153 5 ай бұрын
por que la función objetivo solo es suma
@facundoallione2753
@facundoallione2753 5 ай бұрын
Gracias! Gracias! Gracias!
@juanspechini2046
@juanspechini2046 5 ай бұрын
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.
@rodrigogabrielotero4619
@rodrigogabrielotero4619 5 ай бұрын
Nosotros tenemos una sola bacteria, litonotus, cómo podemos hacer para tener todas las bacterias? Tratamos efluentes industrial de alimentación
@rodrigogabrielotero4619
@rodrigogabrielotero4619 5 ай бұрын
Antes teníamos varias pero no sé por qué razón se fueron desapareciendo
@alexagreingenieria
@alexagreingenieria 5 ай бұрын
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
@juanamares6310
@juanamares6310 6 ай бұрын
Muy claro ; gracias
@alexagreingenieria
@alexagreingenieria 6 ай бұрын
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');
@anaantolin9962
@anaantolin9962 6 ай бұрын
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... 😊
@MrArroba211
@MrArroba211 8 ай бұрын
Una muy completa aplicación de la vida real de la simulación Montecarlo.
@MrArroba211
@MrArroba211 8 ай бұрын
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?
@alexagreingenieria
@alexagreingenieria 8 ай бұрын
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
@MrArroba211
@MrArroba211 8 ай бұрын
Excelente lección, en lo personal no conocía el algortimo de Palmer.
@darwingustavojaquepuca8800
@darwingustavojaquepuca8800 8 ай бұрын
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
@juancarlosarburua8603
@juancarlosarburua8603 8 ай бұрын
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.
@alexagreingenieria
@alexagreingenieria 8 ай бұрын
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.
@nicolayandresninosuarez7690
@nicolayandresninosuarez7690 9 ай бұрын
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?
@alexagreingenieria
@alexagreingenieria 9 ай бұрын
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.
@hmbush3688
@hmbush3688 9 ай бұрын
el beneficio 1 es más importante ? y 20 menos importante ?
@alexagreingenieria
@alexagreingenieria 8 ай бұрын
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.
@eduardosepulveda7774
@eduardosepulveda7774 10 ай бұрын
Excelente video, muchas gracias. me gustaría saber si existe la forma de calcular los tiempos de detención entre procesos.
@germantoledo1525
@germantoledo1525 10 ай бұрын
Muy didáctico. Felicitaciones
@victorcarrillo7477
@victorcarrillo7477 Жыл бұрын
Gracias profe, muy bueno el ejercicio
@AlexaSerrano-r2d
@AlexaSerrano-r2d Жыл бұрын
Muchas gracias por la explicación!
@julietaortega-rj8id
@julietaortega-rj8id Жыл бұрын
Excelente explicación!!!
@sjmagister
@sjmagister Жыл бұрын
Muy Bueno !!!!
@sebastianandres2926
@sebastianandres2926 Жыл бұрын
hago un copy paste de tu código en la plataforma y siempre me aparece error, me registro y coloco mi clave pero nada
@sebastianandres2926
@sebastianandres2926 Жыл бұрын
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
@alexagreingenieria
@alexagreingenieria Жыл бұрын
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:
@alexagreingenieria
@alexagreingenieria Жыл бұрын
# 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
@alexagreingenieria
@alexagreingenieria Жыл бұрын
%%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];
@alexagreingenieria
@alexagreingenieria Жыл бұрын
%%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;
@marceloleal5127
@marceloleal5127 Жыл бұрын
Ññññpppp
@ximenaaguilar1833
@ximenaaguilar1833 Жыл бұрын
Muy buen video!! Excelente explicación 👍
@pancholorca176
@pancholorca176 Жыл бұрын
Como resuelvo con cplex?
@alexagreingenieria
@alexagreingenieria Жыл бұрын
Hola, la antepenúltima línea del código la cambias por ésta: option solver cplex;
@diegoalejandromesaariza3242
@diegoalejandromesaariza3242 Жыл бұрын
Excelente contenido, muchas gracias por la explicación!
@diegoalejandromesaariza3242
@diegoalejandromesaariza3242 Жыл бұрын
Excelente contenido, muchas gracias!
@julianaariaschaquea4147
@julianaariaschaquea4147 Жыл бұрын
Mi canal favorito, siempre aprendo gracias Alexagre
@alexagreingenieria
@alexagreingenieria Жыл бұрын
Gracias a ti por el apoyo...
@eliecerblanco7518
@eliecerblanco7518 Жыл бұрын
Muy buen ejemplo, tengo un ejercicio similar, podría recibir tutoría?
@alexagreingenieria
@alexagreingenieria Жыл бұрын
Hola, sí por supuesto. Escríbeme a [email protected]
@alexagreingenieria
@alexagreingenieria Жыл бұрын
#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');
@eliecerblanco7518
@eliecerblanco7518 Жыл бұрын
Muy buen ejemplo, tengo un ejercicio similar, podría recibir tutoría?
@alexagreingenieria
@alexagreingenieria Жыл бұрын
#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;
@alexagreingenieria
@alexagreingenieria Жыл бұрын
#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;
@alexagreingenieria
@alexagreingenieria Жыл бұрын
#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');
@alexagreingenieria
@alexagreingenieria Жыл бұрын
#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');
@alexagreingenieria
@alexagreingenieria Жыл бұрын
#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');
@alexagreingenieria
@alexagreingenieria Жыл бұрын
#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');
@SoldierLuigi
@SoldierLuigi Жыл бұрын
se puede usar la programación entera en matlab?, ya que, son personas los resultados.
@alexagreingenieria
@alexagreingenieria Жыл бұрын
@@SoldierLuigi Hola, claro que se puede. En la declaración de variables escribes integer para que el Matlab te genere resultados enteros
@alexagreingenieria
@alexagreingenieria Жыл бұрын
#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');
@alexagreingenieria
@alexagreingenieria Жыл бұрын
#CódigoMatlab del video: w = optimvar('w','Type','continuous'); x = optimvar('x','Type','continuous'); y = optimvar('y','Type','continuous'); z = optimvar('z','Type','continuous'); 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'); 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; M = 99999; p = optimproblem("ObjectiveSense","maximize"); p.Objective = 70*w + 60*x + 90*y + 80*z; p.Constraints.Rw = w <= M*r; p.Constraints.Rx = x <= M*s; p.Constraints.Ry = y <= M*t; p.Constraints.Rz = z <= M*u; %El resultado activa u pero no le asigna nada a z p.Constraints.CantP = r + s + t + u <= 2; p.Constraints.P1 = 5*w + 3*x + 6*y + 4*z - M*v <= 6000; p.Constraints.P2 = 4*w + 6*x + 3*y + 5*z - M*(1-v) <= 6000; p.Constraints.R1 = w >= 0; p.Constraints.R2 = x >= 0; p.Constraints.R3 = y >= 0; p.Constraints.R4 = z >= 0; Sol = solve(p, 'Solver','intlinprog');
@alexagreingenieria
@alexagreingenieria Жыл бұрын
#CódigoMatlab del video: x = optimvar('x','Type','integer'); y = optimvar('y','Type','integer'); t = optimvar('t','Type','integer'); t.LowerBound = 0; t.UpperBound = 1; M = 9999; p = optimproblem("ObjectiveSense","maximize"); p.Objective = 10*x + 15*y; p.Constraints.Planta1 = 0.02*x + 0.025*y - M*t <= 500; p.Constraints.Planta2 = 0.025*x + 0.04*y - M*(1-t) <= 700; p.Constraints.R1 = x >= 0; p.Constraints.R2 = y >= 0; sol = solve(p, 'Solver', 'intlinprog');