MA37A. Software para Programación Lineal

Tamaño: px
Comenzar la demostración a partir de la página:

Download "MA37A. Software para Programación Lineal"

Transcripción

1 MA37A Sesión #6 Software para Programación Lineal Oscar Peredo 29 de Octubre del 2008

2 Esquema 1 Programación Lineal 2 Lenguajes de alto nivel MATLAB/OCTAVE AMPL GAMS 3 Solvers CPLEX GLPK 4 Otras alternativas Microsoft Excel Solver 5 Conclusiones

3 Esquema 1 Programación Lineal 2 Lenguajes de alto nivel MATLAB/OCTAVE AMPL GAMS 3 Solvers CPLEX GLPK 4 Otras alternativas Microsoft Excel Solver 5 Conclusiones

4 Objetivos Para ramos futuros y mundo laboral, puede ser útil saber utilizar un software para PL (aplicaciones en practicamente todas las ramas de la ingeniería). PL es la rama de la Optimización más entendible (y por lo tanto más personas e instituciones la utilizan). Matemáticas, Computación e Industrias.

5 Problema Para c R n, A R m n y b R m, nos interesa resolver min x R n c T x (PL) s.a Ax = b x 0

6 Diagrama de Software para PL

7 Esquema 1 Programación Lineal 2 Lenguajes de alto nivel MATLAB/OCTAVE AMPL GAMS 3 Solvers CPLEX GLPK 4 Otras alternativas Microsoft Excel Solver 5 Conclusiones

8 MATLAB/OCTAVE Software orientado al cálculo numérico (matrices). Desarrollados desde 1984 (MATLAB) y 1992 (OCTAVE), software comercial (MATLAB) y libre (OCTAVE). Soportan lenguaje M, desarrollado a partir de Diversas herramientas para Optimización: Optimization Toolbox, funciones propias, etc.

9 AMPL A Mathematical Programming Language Desarrollado en Bell Labs. posterior al 2000 por Fourer, Gay & Kernighan.

10 AMPL min x R P s.a P c j x j j=1 P j=1 1 a j x j b x j [0, u j ], j = 1,..., P set P; param a {j in P}; param b; param c {j in P}; param u {j in P}; var X {j in P}; maximize Total_Profit: sum {j in P} c[j] * X[j]; subject to Time: sum {j in P} (1/a[j]) * X[j] <= b; subject to Limit {j in P}: 0 <= X[j] <= u[j];

11 GAMS General Algebraic Modeling System Desarrollado por el Banco Mundial desde 1975 y por GAMS Development Corporation desde 1987, con la participación de diversos economistas y matemáticos (premios Nobel).

12 GAMS min x R P s.a P c j x j j=1 P j=1 1 a j x j b x j [0, u j ], j = 1,..., P Sets j indice /1,2,3,4/; Parameters a(j) coeficientes / / u(j) cota superior / / ; Scalar b lado derecho /90/; Variables x(j) variables; Positive Variable x ; Equations objetivo define funcion objectivo restr(j) restriccion j ; objetivo.. z =e= sum(j, c(j)*x(j)) ; restr(j).. sum(j, (1/a(j))*x(j)) =l= b ; Model ejemplo /all/ ; Solve ejemplo using lp minimizing z ; Display x.l, x.m ;

13 Esquema 1 Programación Lineal 2 Lenguajes de alto nivel MATLAB/OCTAVE AMPL GAMS 3 Solvers CPLEX GLPK 4 Otras alternativas Microsoft Excel Solver 5 Conclusiones

14 CPLEX CPLEX=C+Simplex (hoy contiene diversos métodos, además de Simplex) Desarrollado por Robert E. Bixby y vendido vía CPLEX Optimization Inc., adquirida por ILOG in Diversas empresas y universidades utilizan este solver comercial. Librería llamable desde el lenguaje C.

15 CPLEX #include <ilcplex/cplex.h> #include <stdlib.h> int main (int argc, char **argv) { env = CPXopenCPLEX (&status); status = CPXsetintparam (env, CPX_PARAM_SCRIND, CPX_ON); status = CPXsetintparam (env, CPX_PARAM_DATACHECK, CPX_ON); lp = CPXcreateprob (env, &status, "lpex1"); status = CPXlpopt (env, lp); status = CPXsolution (env, lp, &solstat, &objval, x, pi, slack, dj); status = CPXwriteprob (env, lp, "lpex1.lp", NULL); }

16 GLPK GNU Linear Programming Kit Desarrollado como proyecto GNU por Andrew Makhorin desde el año Librería llamable desde el lenguaje C.

17 GLPK #include <stdio.h> #include <stdlib.h> #include "glpk.h" int main(void) { LPX *lp; int ia[1+1000], ja[1+1000]; double ar[1+1000], Z, x1, x2, x3; lp = lpx_create_prob(); lpx_set_prob_name(lp, "sample"); lpx_set_obj_dir(lp, LPX_MAX); lpx_add_rows(lp, 3); lpx_set_row_name(lp, 1, "p"); lpx_set_row_bnds(lp, 1, LPX_UP, 0.0, 100.0); lpx_add_cols(lp, 3); lpx_set_col_name(lp, 1, "x1"); lpx_set_col_bnds(lp, 1, LPX_LO, 0.0, 0.0); lpx_load_matrix(lp, 9, ia, ja, ar); lpx_simplex(lp); Z = lpx_get_obj_val(lp); x1 = lpx_get_col_prim(lp, 1); lpx_delete_prob(lp); return 0; }

18 Esquema 1 Programación Lineal 2 Lenguajes de alto nivel MATLAB/OCTAVE AMPL GAMS 3 Solvers CPLEX GLPK 4 Otras alternativas Microsoft Excel Solver 5 Conclusiones

19 Microsoft Excel Solver Orientado a la planilla de cálculo (worksheet). Sirve para problemas pequeños. Posee poca escalabilidad (cuando el problema crece) y su interacción con otros sistemas es pobre (no es un sistema dedicado a la Optimización, está dedicado a la Gestión). Se puede complementar con Macros (VBA: Visual Basic for Applications)

20 Excel Sub SolverMacro() Example Solver VBA Macro SolverReset SolverOk SetCell:="$B$24", _ MaxMinVal:=2, _ ValueOf:="0", _ ByChange:="$B$16:$B$17" SolverSolve userfinish:=true End Sub

21 Esquema 1 Programación Lineal 2 Lenguajes de alto nivel MATLAB/OCTAVE AMPL GAMS 3 Solvers CPLEX GLPK 4 Otras alternativas Microsoft Excel Solver 5 Conclusiones

22 Conclusiones Existen muchas alternativas de software para Optimización en PL. Cómo se utiliza la Optimización en las empresas? Cada empresa modela e implementa de acuerdo a sus necesidades. Se debe utilizar la mejor alternativa de la que se disponga ($,tiempo,recurso humano).

23 FIN

(2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES

(2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES PROBLEMAS DE PROGRAMACIÓN LINEAL. Función objetivo y restricciones. HIPÓTESIS DE MODELIZACIÓN. Ejemplos: problema de producción, problema de dietas.

Más detalles

ANALISIS DE SENSIBILIDAD CON GAMS-CPLEX

ANALISIS DE SENSIBILIDAD CON GAMS-CPLEX ANALISIS DE SENSIBILIDAD CON GAMS-CPLEX Un de los principales inconvenientes de GAMS a la hora de su aplicación total en los módulos de practicas de las materias de Programación Matemática y similares

Más detalles

Estructura de un modelo GAMS (1/3)

Estructura de un modelo GAMS (1/3) GAMS Contenido Estructura de un modelo en GAMS. Ejemplo a través del cual se ilustra el lenguaje Conjuntos Datos Variables Ecuaciones Sumatoria y Productoria Definición de escuaciones Función Objetivo

Más detalles

Programación Lineal y Entera

Programación Lineal y Entera Programación Lineal y Entera Balbina Virginia Casas Méndez Casos prácticos con AMPL MÁSTER EN TÉCNICAS ESTADÍSTICAS Curso 2010/11 Introducción El lenguaje AMPL Optimizadores: KNITRO El servidor NEOS Introducción

Más detalles

ANALISIS DE SENSIBILIDAD CON GAMS-CPLEX

ANALISIS DE SENSIBILIDAD CON GAMS-CPLEX ANALISIS DE SENSIBILIDAD CON GAMS-CPLEX La versión STUDENT de GAMS incorpora todos los solvers disponibles, aunque con las limitaciones relativas al numero de variables y elementos. La inclusión de todos

Más detalles

Línea de trabajo: Control de los Procesos de Manufactura Optimización de los Procesos de Manufactura

Línea de trabajo: Control de los Procesos de Manufactura Optimización de los Procesos de Manufactura Nombre de la asignatura: INVESTIGACIÓN DE OPERACIONES Línea de trabajo: Control de los Procesos de Manufactura Optimización de los Procesos de Manufactura 48 20 100 168-6 1. Historial de la asignatura

Más detalles

Modelización Avanzada en Logística y Transporte

Modelización Avanzada en Logística y Transporte Modelización Avanzada en Logística y Transporte El problema de enrutamiento vehicular (VRP) Luis M. Torres Escuela Politécnica del Litoral Guayaquil, Diciembre 2010 Maestría en Control de Operaciones y

Más detalles

Herramientas de análisis numérico para la resolución de problemas de programación lineal

Herramientas de análisis numérico para la resolución de problemas de programación lineal Herramientas de análisis numérico para la resolución de problemas de programación lineal Librería Solver (Frontline Systems) Luis Marín Escalona Julio de 2oo7 Índice Como hacer referencia a la librería

Más detalles

01 Introducción al lenguaje C. Diego Andrés Alvarez Marín Profesor Asociado Universidad Nacional de Colombia Sede Manizales

01 Introducción al lenguaje C. Diego Andrés Alvarez Marín Profesor Asociado Universidad Nacional de Colombia Sede Manizales 01 Introducción al lenguaje C Diego Andrés Alvarez Marín Profesor Asociado Universidad Nacional de Colombia Sede Manizales 1 Arquitectura de un computador Procesador (CPU, memoria caché) Buses de datos

Más detalles

FECHA DE ENTREGA AL ESTUDIANTE: Adjunto a la primera prueba parcial

FECHA DE ENTREGA AL ESTUDIANTE: Adjunto a la primera prueba parcial 315-TP 1/8 TRABAJO PRÁCTICO: ASIGNATURA: INVESTIGACIÓN DE OPERACIONES I CÓDIGO: 315 FECHA DE ENTREGA AL ESTUDIANTE: Adjunto a la primera prueba parcial FECHA DE DEVOLUCIÓN: Adjunto a la prueba integral

Más detalles

OPL, un lenguaje de programación de restricciones.

OPL, un lenguaje de programación de restricciones. OPL, un lenguaje de programación de restricciones. Nacho Castiñeiras Grupo de programación declarativa 1 Índice Primeros pasos ILOG CPLEX ILOG SOLVER ILOG SOLVER SCHEDULER 2 Primeros pasos. Comprender

Más detalles

Herramientas de análisis numérico aplicadas a la resolución de problemas de programación lineal en procesos metalúrgicos

Herramientas de análisis numérico aplicadas a la resolución de problemas de programación lineal en procesos metalúrgicos Herramientas de análisis numérico aplicadas a la resolución de problemas de programación lineal en procesos metalúrgicos Librería Solver Integrada en Microsoft Excel (Frontline Systems) Luis Marín Escalona

Más detalles

GAMS (General Algebraic Modeling System)

GAMS (General Algebraic Modeling System) GAMS (General Algebraic Modeling System) GAMS Creado en 1987. Entorno de desarrollo GAMSIDE Manual de usuario Help-Docs-gams-gamsusersguide.pdf Manuales de optimizadores Help-Docs-solvers Modelo: nombre_fichero.gms

Más detalles

Curso básico de GAMS Verano Cinetífico 2007 Gabriela Garcia Ayala (mg_garcia@yahoo.com)

Curso básico de GAMS Verano Cinetífico 2007 Gabriela Garcia Ayala (mg_garcia@yahoo.com) Curso básico de GAMS Verano Cinetífico 2007 Gabriela Garcia Ayala (mg_garcia@yahoo.com) Historia GAMS (General Algebraic Modeling System) empieza como un proyecto de investigación en el Banco Mundial en

Más detalles

1. Introducción Instalación Ubuntu/Linux Windows... 2

1. Introducción Instalación Ubuntu/Linux Windows... 2 Instructivo de GLPK Modelos y Optimización I Redactado por Tomás Bruno Facultad de Ingeniería de la Universidad de Buenos Aires Versión 1.0 - Abril 2012 Índice 1. Introducción 2 1.1. Instalación.............................

Más detalles

El lenguaje de Programación C. Fernando J. Pereda <ferdy@gentoo.org>

El lenguaje de Programación C. Fernando J. Pereda <ferdy@gentoo.org> El lenguaje de Programación C Fernando J. Pereda Por qué aprender C? Portable y muy extendido Estándar (C89, C99) El lenguaje de los sistemas Un lenguaje fácil (no, no es broma) Por

Más detalles

Lenguaje GAMS. José María Ferrer Caja Universidad Pontificia Comillas ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INDUSTRIAL DEPARTAMENTO DE ORGANIZACIÓN

Lenguaje GAMS. José María Ferrer Caja Universidad Pontificia Comillas ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INDUSTRIAL DEPARTAMENTO DE ORGANIZACIÓN Lenguaje GAMS José María Ferrer Caja Universidad Pontificia Comillas Lenguaje GAMS- 0 Alternativas para desarrollar modelos Lenguajes de programación de propósito general C, C++, Java, Visual Basic, FORTRAN

Más detalles

Notas sobre el programa AMPL (Notas 1: dirigidas a los alumnos de 1º)

Notas sobre el programa AMPL (Notas 1: dirigidas a los alumnos de 1º) Notas sobre el programa AMPL (Notas 1: dirigidas a los alumnos de 1º) Índice Parte I: Introducción. 1. Introducción. 2. Elementos fundamentales. 3. Instalación de AMPL. 4. Algunos detalles sobre el editor

Más detalles

PLATEJAMENT: 20 pollos 1 metro cuadrado 1 pollo 1/20 m 2 = conejo 1/10 m 2 = lechón ½ m 2 = 0.5. Restricciones:

PLATEJAMENT: 20 pollos 1 metro cuadrado 1 pollo 1/20 m 2 = conejo 1/10 m 2 = lechón ½ m 2 = 0.5. Restricciones: EJERCICIO Un ganadero esta estudiando la posibilidad de utilizar una nave que posee para criar pollos, conejos y lechones. Para criarlos dispone de una nave de 2000 metros cuadrados y de 240 kilos de un

Más detalles

CAPITULO 6: PROBLEMAS DE TRANSPORTE

CAPITULO 6: PROBLEMAS DE TRANSPORTE CAPITULO 6: PROBLEMAS DE TRANSPORTE Comúnmente se han considerado como un caso particular de los problemas lineales los problemas de transporte y de asignación. Pero hemos de notar que se trata en realidad

Más detalles

Universidad de Guanajuato Tronco Común de Ingenierías

Universidad de Guanajuato Tronco Común de Ingenierías Universidad de Guanajuato Tronco Común de Ingenierías Objetivo del Area: Diseñar modelos matemáticos y proponer alternativas de solución a problemas. Programa. AREA: Matemáticas MATERIA: Lenguaje de Programación

Más detalles

Universidad de Guadalajara del 24 al 26 de Octubre del 2012.

Universidad de Guadalajara del 24 al 26 de Octubre del 2012. Primer Congreso Mexicano de Investigación de Operaciones Se celebrará en las instalaciones de la Universidad de Guadalajara del 24 al 26 de Octubre del 2012. Fecha límite de registro de participantes y

Más detalles

Sistemas Operativos: Programación de Sistemas. Curso 2006-07. Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.

Sistemas Operativos: Programación de Sistemas. Curso 2006-07. Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Tema 2 : entorno programación linux Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Francisco J. Santana 1 Programación

Más detalles

Objective C (Desarrollo con Apple)

Objective C (Desarrollo con Apple) 1 Objective C (Desarrollo con Apple) para programación en Iphone SDK: Similitudes y Diferencias entre Objective C con C/C++ y Java Dr. Moisés Alencastre Miranda, malencastre@itesm.mx 2 Introducción al

Más detalles

Programación lineal Optimización de procesos químicos DIQUIMA-ETSII

Programación lineal Optimización de procesos químicos DIQUIMA-ETSII Programación lineal PROGRAMACIÓN LINEAL PROGRAMACIÓN LINEAL se formula siguiendo el planteamiento general: Función objetivo Restricciones de igualdad Restricciones de desigualdad Límite variables PROGRAMACIÓN

Más detalles

Lenguaje de Programación: C++, INPUT OUTPUT(Variables)

Lenguaje de Programación: C++, INPUT OUTPUT(Variables) UG Lenguaje de Programación: C++, INPUT OUTPUT() Universidad de Guanajuato Septiembre 2010 MAIN int main (); // no arguments int main (inl argc, char* argv[]); // arguments arcg: cantidad de parámetros

Más detalles

Introducción a la programación. El lenguaje de programación C

Introducción a la programación. El lenguaje de programación C Introducción a la programación El lenguaje de programación C El lenguaje de programación ANSI C Componentes del estándar ANSI C Historia de C Herramientas de programación en C Aplicaciones en C Programa

Más detalles

Facultad de Ciencias Económicas, Jurídicas y Sociales - Métodos Cuantitativos para los Negocios

Facultad de Ciencias Económicas, Jurídicas y Sociales - Métodos Cuantitativos para los Negocios Ubicación dentro del Programa Unidad III UNIDAD II: PROGRAMACIÓN LINEAL 1. Característica. Formulación matemática de un problema de programación lineal. Planteo e interpretación de un sistema de inecuaciones.

Más detalles

Taller de Sistemas Operativos Introducción

Taller de Sistemas Operativos Introducción Taller de Sistemas Operativos Introducción Escuela de Ingeniería Civil en Informática Universidad de Valparaíso, Chile http:// Conceptos generales 2 Proceso stdin Descriptor Flujo (FILE*) 0 stdout 1 Proceso

Más detalles

REPRESENTACIÓN DE DATOS

REPRESENTACIÓN DE DATOS REPRESENTACIÓN DE DATOS Tipos de datos primitivos Tipos de Datos Estructurados TIPOS DE DATOS SIMPLES O PRIMITIVOS Dato Longitud Rango 2 TIPOS DE DATOS SIMPLES O PRIMITIVOS Surgen de la necesidad de tener

Más detalles

1. RESOLVER el siguiente problema de programación lineal. max z =15x 1 + 10x 2 suj.a : 2x 1 + x 2 1500 x 1 + x 2 1200 0 x 1 500

1. RESOLVER el siguiente problema de programación lineal. max z =15x 1 + 10x 2 suj.a : 2x 1 + x 2 1500 x 1 + x 2 1200 0 x 1 500 1. RESOLVER el siguiente problema de programación lineal max z =15x 1 + 10x 2 suj.a : 2x 1 + x 2 1500 x 1 + x 2 1200 0 x 1 500 x 2 0 2 RESOLVER el siguiente problema de P.L.: max z = 2x 1 + 3x 2 2x 3

Más detalles

Curso AVANZADO DE EXCEL 2013

Curso AVANZADO DE EXCEL 2013 Curso AVANZADO DE EXCEL 2013 DÍAS: 3, 5, 6, 10 y 13 de octubre LUGAR: F4 (día 3) y F5 (días 5, 6, 10 y 13) Nº DE PLAZAS: 20 HORARIO: de 15:30 a 20:30 h INSCRIPCIÓN: A partir del 5 de septiembre, por orden

Más detalles

Funciones como Subprogramas en C++

Funciones como Subprogramas en C++ FUNCIONES Cuando es necesario escribir programas complicados para resolver problemas complejos, una práctica común entre los programadores es descomponer el algoritmo (el diagrama de flujo) en varias partes.

Más detalles

1.1 Tipos de Datos Primitivos. 1.2 Tipos de datos estructurados. 1.3 Definición de estructura de datos

1.1 Tipos de Datos Primitivos. 1.2 Tipos de datos estructurados. 1.3 Definición de estructura de datos 1.1 Tipos de Datos Primitivos 1.2 Tipos de datos estructurados 1.2.1 Arreglos unidimensionales, bidimensionales y cadenas de caracteres 1.2.2 Registros o Estructuras (unión y estructura) 1.3 Definición

Más detalles

Programación. Test Autoevaluación Tema 3

Programación. Test Autoevaluación Tema 3 Programación Test Autoevaluación Tema 3 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero José A. Iglesias Martínez José Luis Mira Peidro SOLUCIONES 1.

Más detalles

Instrucciones de EXCEL Solver

Instrucciones de EXCEL Solver Instrucciones de EXCEL Solver Octubre de 2000 2 La opción Solver de EXCEL sirve para resolver problemas de optimización lineal y no lineal; también se pueden indicar restricciones enteras sobre las variables

Más detalles

CONECTIVIDAD TECNOLOGÍAS DE OPTIMIZACIÓN

CONECTIVIDAD TECNOLOGÍAS DE OPTIMIZACIÓN CONECTIVIDAD TECNOLOGÍAS DE OPTIMIZACIÓN MANUAL DEL USUARIO ESTE DOCUMENTO CONTIENE INFORMACIÓN CONFIDENCIAL, PROPIEDAD INTELECTUAL DE DO ANALYTICS LLC. Y SE ENTREGA CON EL ENTENDIMIENTO DE QUE SE UTILIZARÁ

Más detalles

Punteros. Definición Un puntero es un dato que contiene una dirección de memoria.

Punteros. Definición Un puntero es un dato que contiene una dirección de memoria. Punteros Definición Un puntero es un dato que contiene una dirección de memoria. NOTA: Existe una dirección especial que se representa por medio de la constante NULL (definida en ) y se emplea

Más detalles

Programación lineal Optimización de procesos químicos DIQUIMA-ETSII

Programación lineal Optimización de procesos químicos DIQUIMA-ETSII Programación lineal PROGRAMACIÓN LINEAL PROGRAMACIÓN LINEAL se formula siguiendo el planteamiento general: Función objetivo Restricciones de igualdad Restricciones de desigualdad Límite variables PROGRAMACIÓN

Más detalles

IO - Investigación Operativa

IO - Investigación Operativa Unidad responsable: 270 - FIB - Facultad de Informática de Barcelona Unidad que imparte: 715 - EIO - Departamento de Estadística e Investigación Operativa Curso: Titulación: 2016 GRADO EN INGENIERÍA INFORMÁTICA

Más detalles

Introducción al programa WinQSB

Introducción al programa WinQSB Introducción al programa WinQSB WinQSB es un sistema interactivo de ayuda a la toma de decisiones que contiene herramientas muy útiles para resolver distintos tipos de problemas en el campo de la investigación

Más detalles

Optimización de Problemas de Producción

Optimización de Problemas de Producción Optimización de Problemas de Producción Pedro Piñeyro - Luis Stábile Colaboran: Héctor Cancela - Antonio Mauttone - Carlos Testuri Depto. Investigación Operativa. Instituto de Computación. Facultad de

Más detalles

DEPARTAMENTO DE ESTADÍSTICA E INVESTIGACIÓN OPERATIVA AMPLIACIÓN DE INVESTIGACIÓN OPERATIVA. Relación 6 (versión 10-05-2002) n n n.

DEPARTAMENTO DE ESTADÍSTICA E INVESTIGACIÓN OPERATIVA AMPLIACIÓN DE INVESTIGACIÓN OPERATIVA. Relación 6 (versión 10-05-2002) n n n. DEPARTAMENTO DE ESTADÍSTICA E INVESTIGACIÓN OPERATIVA AMPLIACIÓN DE INVESTIGACIÓN OPERATIVA. Relación 6 (versión 10-05-2002) 1. Escribir un modelo AMPL para resolver el siguiente problema lineal general:

Más detalles

1. ANTECEDENTES 2. ASPECTOS TÉCNICOS

1. ANTECEDENTES 2. ASPECTOS TÉCNICOS 1. ANTECEDENTES OPTEX Mathematical Modeling Management System es la herramienta tecnológica soporte de todos los proyectos informáticos desarrollados por DecisionWare International Corp. (DW), una compañía

Más detalles

Introducción a Programación Lineal

Introducción a Programación Lineal Pontificia Universidad Católica Escuela de Ingeniería Departamento de Ingeniería Industrial y de Sistemas Clase 18 Programación Lineal ICS 1102 Optimización Profesor : Claudio Seebach 4 de octubre de 2005

Más detalles

Optimización lineal con R José R. Berrendero

Optimización lineal con R José R. Berrendero Optimización lineal con R José R. Berrendero Introducción Veamos cómo se pueden resolver problemas de optimización lineal con R a través de algunos ejemplos sencillos. La mayor parte de las funciones necesarias

Más detalles

GESLET: UNA APLICACIÓN INFORMÁTICA PARA LA GESTIÓN FINANCIERA. M. Adalid M.J. Canós M. Mocholí V. Navarro R. Sala V. Sanchis

GESLET: UNA APLICACIÓN INFORMÁTICA PARA LA GESTIÓN FINANCIERA. M. Adalid M.J. Canós M. Mocholí V. Navarro R. Sala V. Sanchis Métodos Matemáticos para la Economía y la Empresa GESLET: UNA APLICACIÓN INFORMÁTICA PARA LA GESTIÓN FINANCIERA M. Adalid M.J. Canós M. Mocholí V. Navarro R. Sala V. Sanchis Departamento de Economía Financiera

Más detalles

FÓRMULA PARA MATRIZ DE CORRELACIÓN Y DE COVARIANZA EN EXCEL Una alternativa dinámica y completa

FÓRMULA PARA MATRIZ DE CORRELACIÓN Y DE COVARIANZA EN EXCEL Una alternativa dinámica y completa Unidad de Consultoría Empresarial FÓRMULA PARA MATRIZ DE CORRELACIÓN Y DE COVARIANZA EN EXCEL Una alternativa dinámica y completa Pedro F. Castilla Ávila Primera versión: 08 de abril de 2012 Esta versión:

Más detalles

TIPOS DE DATOS BASICOS EN LENGUAJE C

TIPOS DE DATOS BASICOS EN LENGUAJE C TIPOS DE DATOS BASICOS EN LENGUAJE C TIPO char int float double void ANCHO EN BIT 64 0 TIPOS DE DATOS RANGO EN PC -12 a 127 3.4E-3 a 3.4E+3 1.7E-30 a 1.7E+30 sin valores TIPO ANCHO EN BIT RANGO EN PC char

Más detalles

XXI Seminario de Ingeniería Química 2003 Instituto Tecnológico de Celaya

XXI Seminario de Ingeniería Química 2003 Instituto Tecnológico de Celaya Código GAMS El código de GAMS se puede escribir con cualquier procesador de texto o a través de la interfase de GAMS. Si se utilizan procesadores especializados como Word, FrameMaker, PageMaker, etc.,

Más detalles

Realizar un modelo en GAMS que minimice la suma de los costos de combustible en todas las estaciones compresoras que se encuentran en la red.

Realizar un modelo en GAMS que minimice la suma de los costos de combustible en todas las estaciones compresoras que se encuentran en la red. Objetivo: Realizar un modelo en GAMS que minimice la suma de los costos de combustible en todas las estaciones compresoras que se encuentran en la red. Que es GAMS? Es un modelador algebraico para solucionar

Más detalles

Departamento de Matemáticas. ITAM Programación lineal (+ extensiones). Objetivos y panorama del c

Departamento de Matemáticas. ITAM Programación lineal (+ extensiones). Objetivos y panorama del c Programación lineal (+ extensiones). Objetivos y panorama del curso. Departamento de Matemáticas. ITAM. 2008. Introducción Programación lineal http://allman.rhon.itam.mx/ jmorales La programación lineal

Más detalles

EXCEL PARA INGENIEROS

EXCEL PARA INGENIEROS Pág. N. 1 EXCEL PARA INGENIEROS Familia: Editorial: Autor: Ingeniería aplicada Macro Carlos Augusto Eyzaguirre Acosta ISBN: 978-612-4034-29-9 N. de páginas: 368 Edición: 1. a 2009 Medida: 17.5 x 24.8 Colores:

Más detalles

Lenguaje C Funciones. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Lenguaje C Funciones. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Lenguaje C Funciones Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Qué es una función o rutina/subrutina? Se presenta como un subalgoritmo

Más detalles

PROGRAMACION LINEAL. Identificación de las soluciones con GAMS

PROGRAMACION LINEAL. Identificación de las soluciones con GAMS PROGRAMACION LINEAL Identificación de las soluciones con GAMS Max F(x) = x 1 + 2 x 2 s.a: x 1 + x 2 4 2 x 1 + x 2 6 x 1 0 x 2 0 4 (2,2) F(x)=8 0 3 *EJEMPLO N-1 *POLIEDRO - VERTICE VARIABLES X1, X2, F;

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 11 Nombre: Manejo de archivos Contextualización En los lenguajes de programación estructurada como C, que carecían de una conexión a base

Más detalles

Expresiones Aritméticas

Expresiones Aritméticas Expresiones Aritméticas Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Programación I 1 La Operación Asignación variable = expresión;

Más detalles

GAMS, ejemplos introductorios Héctor Manuel Mora Escobar Marzo de 2009

GAMS, ejemplos introductorios Héctor Manuel Mora Escobar Marzo de 2009 GAMS, ejemplos introductorios Héctor Manuel Mora Escobar Marzo de 2009 hectormora@yahoo.com El programa comercial Gams, General Algebraic Modeling System, es una herramienta de alto nivel para modelamiento

Más detalles

1. Qué se muestra en pantalla si se ejecutan las siguientes sentencias (suponiendo que el resto del programa que no se presenta es correcto)?

1. Qué se muestra en pantalla si se ejecutan las siguientes sentencias (suponiendo que el resto del programa que no se presenta es correcto)? EJERCICIOS: while Y do-while 1. Qué se muestra en pantalla si se ejecutan las siguientes sentencias (suponiendo que el resto del programa que no se presenta es correcto)? int x; x=10; while (x>0) cout

Más detalles

Sesión VI: Desarrollo de aplicaciones en el entorno MATLAB

Sesión VI: Desarrollo de aplicaciones en el entorno MATLAB 1 Sesión VI: Desarrollo de aplicaciones en el entorno MATLAB LPI: Control y Procesamiento Digital de Señales Por: Ricardo Alzate Castaño UNIVERSIDAD NACIONAL DE COLOMBIA Sede Manizales Segundo Semestre

Más detalles

12 símbolos (13 si se incluye el espacio en blanco)

12 símbolos (13 si se incluye el espacio en blanco) Universidad Rafael Urdaneta Facultad de Ingeniería Escuela de Ingeniería de Computación Cátedra: Programación I Laboratorio - Semestre 2012-1 (Sección L y P ) Profesor: Jaime Soto Examen #1 - Fecha: 09-03-2012

Más detalles

Facultad de Ingeniería

Facultad de Ingeniería Facultad de Ingeniería Escuela de Ingeniería Industrial y Estadística Profesor: Julio César Londoño O Técnicas de solución Este tipo de modelos pueden llegar a tener decenas (e incluso cientos) de miles

Más detalles

OPTEX OPTIMIZATION SERVER

OPTEX OPTIMIZATION SERVER OPTEX OPTIMIZATION SERVER MANUAL DEL ADMINISTRADOR ESTE DOCUMENTO CONTIENE INFORMACIÓN CONFIDENCIAL, PROPIEDAD INTELECTUAL DE DO ANALYTICS LLC. Y SE ENTREGA CON EL ENTENDIMIENTO DE QUE SE UTILIZARÁ EXCLUSIVAMENTE

Más detalles

Unidad III El lenguaje de programación C 1. 2. 3. 4. 5. 6. 7. 8.

Unidad III El lenguaje de programación C 1. 2. 3. 4. 5. 6. 7. 8. Unidad III 1. Introducción. 2. Breve historia del C. 3. Lenguajes de programación de alto nivel, bajo nivel y nivel medio. 4. Compiladores e intérpretes. 5. Compilación, enlace y generación de un programa

Más detalles

EQUIVALENCIAS EN C DE CONSTRUCCIONES SECUENICIALES EN PSEUDOCÓDIGO

EQUIVALENCIAS EN C DE CONSTRUCCIONES SECUENICIALES EN PSEUDOCÓDIGO EQUIVALENCIAS EN C DE CONSTRUCCIONES SECUENICIALES EN PSEUDOCÓDIGO TIPOS DE DATOS BÁSICOS: Tipo Tipo Tamaño aproximado en bits Rango mínimo Carácter char 8 0 a 55 Entero int 16-3767 a 3767 Real float 3

Más detalles

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA FACULTAD DE CIENCIAS PROGRAMA DE MATEMÁTICAS PLAN DE ESTUDIOS

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA FACULTAD DE CIENCIAS PROGRAMA DE MATEMÁTICAS PLAN DE ESTUDIOS UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA FACULTAD DE CIENCIAS PROGRAMA DE MATEMÁTICAS PLAN DE ESTUDIOS ASIGNATURA : ELECTIVA I - PROGRAMACION CÓDIGO : 8104661 SEMESTRE : IV CRÉDITOS : 4 FECHA DE

Más detalles

PROGRAMACION CUADRATICA

PROGRAMACION CUADRATICA PROGRAMACION CUADRATICA Programación convexa La programación convexa abarca una amplia clase de problemas, entre ellos como casos especiales, están todos los tipos anteriores cuando /(x) es cóncava. Las

Más detalles

250ST2131 - Modelos de Optimización de Redes de Transporte

250ST2131 - Modelos de Optimización de Redes de Transporte Unidad responsable: Unidad que imparte: Curso: Titulación: Créditos ECTS: 2015 240 - ETSEIB - Escuela Técnica Superior de Ingeniería Industrial de Barcelona 715 - EIO - Departamento de Estadística e Investigación

Más detalles

Lenguaje de programación C. Introducción

Lenguaje de programación C. Introducción Lenguaje de programación C Introducción 1 Elementos del lenguaje C Colección de funciones Estas funciones contienen declaraciones, sentencias, expresiones y otros elementos que en conjunto indican a la

Más detalles

CATÁLOGO: RESERVA DE PLAZA Y MATRÍCULA:

CATÁLOGO: RESERVA DE PLAZA Y MATRÍCULA: cursos a partir de sep 16 CATÁLOGO: (Cursos confirmados, *) - AUTOCAD 2D - a partir del 24 de septiembre (sábados) - CATIA V5: BÁSICO MÓDULO I - a partir del 21 de septiembre (tardes) - CATIA V5: BÁSICO

Más detalles

Universidad Nacional Autónoma de Nicaragua UNAN-Managua. Curso de Investigación de Operaciones

Universidad Nacional Autónoma de Nicaragua UNAN-Managua. Curso de Investigación de Operaciones Universidad Nacional Autónoma de Nicaragua UNAN-Managua Curso de Investigación de Operaciones Profesor: MSc. Julio Rito Vargas Avilés. Presentación del Programa de Investigación de Operaciones Estudiantes:

Más detalles

Apuntadores (Punteros)

Apuntadores (Punteros) Apuntadores (Punteros) x9ff10 X int 209 SESION 7 *ptr Definición Llamados también punteros. Un Apuntador es una variable que contiene una dirección de memoria, la cual corresponderá a un dato o a una variable

Más detalles

Facultad De Ingeniería Programa de Ingeniería Industrial

Facultad De Ingeniería Programa de Ingeniería Industrial Facultad De Ingeniería Programa de Ingeniería Industrial Código Materia: 05252 Excel Nivel Intermedio Requisito: 09641 Habilidades Básicas en Hojas Electrónicas Programa Semestre: Ingeniería Industrial

Más detalles

UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI

UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI NOMBRE DE LA ASIGNATURA: INFORMÁTICA APLICADA A LA MERCADOTECNIA FECHA DE ELABORACIÓN: MAYO 2005 ÁREA DEL PLAN DE ESTUDIOS:

Más detalles

Generador de analizadores sintácticos BISON

Generador de analizadores sintácticos BISON Generador de analizadores sintácticos BISON PROCESADORES DE LENGUAJES 4 o Informática http://ccia.ei.uvigo.es/docencia/pl noviembre-2008 2008 ccia PL 1. Introducción Traduce la especificación de una gramática

Más detalles

Sistemas Operativos Práctica 3

Sistemas Operativos Práctica 3 Sistemas Operativos Práctica 3 Ing. Andrés Bustamante afbustamanteg@unal.edu.co Ingeniería de Sistemas Facultad de Ingeniería Universidad de la Amazonia 2009 1. Objetivo El objetivo de la práctica es que

Más detalles

RELACIÓN DE PROBLEMAS DE CLASE DE PROGRAMACIÓN LINEAL ENTERA

RELACIÓN DE PROBLEMAS DE CLASE DE PROGRAMACIÓN LINEAL ENTERA RELACIÓN DE PROBLEMAS DE CLASE DE PROGRAMACIÓN LINEAL ENTERA SIMPLEX Y LINEAL ENTERA a Resuelve el siguiente problema con variables continuas positivas utilizando el método simple a partir del vértice

Más detalles

UNIVERSIDAD DR. JOSE MATIAS DELGADO

UNIVERSIDAD DR. JOSE MATIAS DELGADO NOMBRE DE LA ASIGNATURA: PROGRAMACION DE COMPUTADORAS 1 a. Generalidades. Duración del Ciclo en Semanas: Número de Orden: 16 Código: PRC1 16 Ciclo Académico: Duración/Hora Clase: 50 III minutos Prerrequisito

Más detalles

Estructuración del programa en partes más pequeñas y sencillas

Estructuración del programa en partes más pequeñas y sencillas Introducción Estructuración del programa en partes más pequeñas y sencillas Modularización Propósito único Identificable Reusable Mayor claridad: programación, depuración, etc. Construcción de librerías

Más detalles

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por

Más detalles

ESCUELA DE INFORMÁTICA

ESCUELA DE INFORMÁTICA TÉCNICO EN SISTEMAS LABORAL SUBMODULO TEMA 1 (Visual Basic for Application) Microsoft VBA (Visual Basic for Applications) es el lenguaje de macros de Microsoft Visual Basic que se utiliza para programar

Más detalles

Lenguaje de Programación: C++ GLUT (como instalarlo)

Lenguaje de Programación: C++ GLUT (como instalarlo) UG C++ Lenguaje de Programación: C++ GLUT (como instalarlo) Universidad de Guanajuato Noviembre 2010 Inicializar GLUT Lo primero que debemos mandar llamar en un proyecto con la librería GLUT es: void glutinit(int

Más detalles

LENG. PROG. I. Introduccion al C++ Ing. Javier Echegaray Rojo 1

LENG. PROG. I. Introduccion al C++ Ing. Javier Echegaray Rojo 1 LENG. PROG. I Introduccion al C++ Ing. Javier Echegaray Rojo 1 COMP102 Prog. Fundamentals I:Introduction to C++ / Slide 2 Para qué estudiar Programación? Cultura General Curiosidad Para desarrollar las

Más detalles

DESARROLLO DE HERRAMIENTAS DE SIMULACIÓN VIA WEB BASADAS EN ECOSIMPRO

DESARROLLO DE HERRAMIENTAS DE SIMULACIÓN VIA WEB BASADAS EN ECOSIMPRO DESARROLLO DE HERRAMIENTAS DE SIMULACIÓN VIA WEB BASADAS EN ECOSIMPRO Carmen G. Moles, Antonio A. Alonso y Julio R. Banga Process Engineering Group, IIM-CSIC c/ Eduardo Cabello 6, 36208, Vigo, Spain Resumen

Más detalles

LA MEJOR FORMA DE HACER SOFTWARE ES NO TENER QUE HACERLO

LA MEJOR FORMA DE HACER SOFTWARE ES NO TENER QUE HACERLO by LA MEJOR FORMA DE HACER SOFTWARE ES NO TENER QUE HACERLO 1. INTRODUCCIÓN OPTEX MATHEMATICAL MODELING SYSTEM es la tecnología de optimización que comercializa DO ANALYTICS LLC. (http://www.doanalytics.net/documents/optex-presentation.pdf).

Más detalles

- Aprender una metodología de trabajo en Excel y VBA, eficaz, eficiente, ordenada y automatizable.

- Aprender una metodología de trabajo en Excel y VBA, eficaz, eficiente, ordenada y automatizable. Taller Excel y VBA Avanzado Objetivo general: Desarrollar habilidades extraordinarias en el uso de Microsoft Excel, Access y VBA para la solución de problemas, de gran magnitud y complejidad, en los Negocios

Más detalles

Universidad Autónoma del Estado de México Licenciatura en Matemáticas Programa de Estudios: Programación Lineal

Universidad Autónoma del Estado de México Licenciatura en Matemáticas Programa de Estudios: Programación Lineal Universidad Autónoma del Estado de México Licenciatura en Matemáticas 2003 Programa de Estudios: Programación Lineal I. Datos de identificación Licenciatura Matemáticas 2003 Unidad de aprendizaje Programación

Más detalles

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES ACATLÁN LICENCIATURA EN MATEMÁTICAS APLICADAS Y COMPUTACIÓN

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES ACATLÁN LICENCIATURA EN MATEMÁTICAS APLICADAS Y COMPUTACIÓN UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES ACATLÁN LICENCIATURA EN MATEMÁTICAS APLICADAS Y COMPUTACIÓN ACATLÁN PROGRAMA DE ASIGNATURA CLAVE: 1409 SEMESTRE: 4 (CUARTO) MODALIDAD

Más detalles

Asignatura: Estructuras de Datos. Año Escolar: Grado y Sección: 6to INF A-B Docente: Ing. Yesika Medina

Asignatura: Estructuras de Datos. Año Escolar: Grado y Sección: 6to INF A-B Docente: Ing. Yesika Medina Variables Especificadores de Formatos Secuencias de Escape. EJEMPLO. Programa que permite mostrar en pantalla BIENVENIDOS A LA PROGRAMACIÓN EN LENGUAJE C #include #include { printf("bienvenidos

Más detalles

EDITRAN/TR. Windows/Unix. Manual de referencia

EDITRAN/TR. Windows/Unix. Manual de referencia EDITRAN/TR Windows/Unix Manual de referencia INDRA 30 de octubre de 2014 ÍNDICE 1. INTRODUCCIÓN.... 1-1 2. INTERFAZ DE PROGRAMACIÓN.... 2-1 2.1. DESCRIPCION... 2-1 2.2. FUNCIONES DE ENVIO Y RECEPCION...

Más detalles

GNU OCTAVE. Principales características

GNU OCTAVE. Principales características GNU OCTAVE Principales características lenguaje de alto nivel orientado al cálculo numérico software libre distribuido bajo licencia GNU GPL prácticamente compatible con Matlab página principal http://www.gnu.org/software/octave/

Más detalles

CAPITULO 14: GAMS 14.1.- INSTALACION DE GAMS

CAPITULO 14: GAMS 14.1.- INSTALACION DE GAMS CAPITULO 14: GAMS 14.1.- INSTALACION DE GAMS El programa GAMS (General Algebraic Modeling System) es un software desarrollado por A. Brooke, D. Kendrick y A. Meeraus. A diferencia de otros paquetes de

Más detalles

UNIVERSIDAD LIBRE SECCIONAL PEREIRA FACULTAD DE INGENIERÍAS PROGRAMA ACADÉMICO DE INGENIERÍA DE SISTEMAS

UNIVERSIDAD LIBRE SECCIONAL PEREIRA FACULTAD DE INGENIERÍAS PROGRAMA ACADÉMICO DE INGENIERÍA DE SISTEMAS FACULTAD DE INGENIERÍAS PROGRAMA ACADÉMICO DE INGENIERÍA DE SISTEMAS PLAN DE ASIGNATURA NOMBRE DE LA ASIGNATURA: CODIGO DE LA ASIGNATURA: 02233 CICLO DE FORMACIÓN: COMPONENTE DE FORMACIÓN PROGRAMACION

Más detalles

Optimización de Procesos

Optimización de Procesos Optimización de Procesos Tier I: Métodos Matemáticos de Optimización Sección 2: Programación Lineal Programación Lineal (Linear Programming, LP) La programación lineal (optimización lineal) es el área

Más detalles

PRÁCTICA DE LABORATORIO 3 Tipo Abstrato de Dato

PRÁCTICA DE LABORATORIO 3 Tipo Abstrato de Dato ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 3 Tipo Abstrato de Dato Contenido Introducción...1 Dato...1 Valor...1 Tipo de Dato...2 Tipo Abstracto

Más detalles

Optimización y Toma de Decisiones

Optimización y Toma de Decisiones Optimización y Toma de Decisiones Guía Docente Master Oficial en Planificación y Gestión de Procesos Empresariales Universitat de València Datos del Curso Nombre de la asignatura Optimización y Toma de

Más detalles

Modelos matemáticos de optimización

Modelos matemáticos de optimización Modelos matemáticos de optimización Andrés Ramos Andres.Ramos@iit.icai.upcomillas.es Universidad Pontificia Comillas Begoña Vitoriano bvitoriano@mat.ucm.es Universidad Complutense de Madrid Índice Optimización

Más detalles

Solution to the Multiple Products Transportation Problem: Linear Programming Optimization With Excel Solver

Solution to the Multiple Products Transportation Problem: Linear Programming Optimization With Excel Solver Solution to the Multiple Products Transportation Problem: Linear Programming Optimization With Excel Solver L. C. Sánchez and J. Herrera Abstract Transport model is an algorithm recognized and applied

Más detalles

FUNDAMENTOS DE INFORMÁTICA

FUNDAMENTOS DE INFORMÁTICA FUNDAMENTOS DE INFORMÁTICA Tema 1 Introducción a la Programación en Visual Basic Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo undamentos de Informática. Departamento de Ingeniería

Más detalles

Programación Lineal y Optimización Segundo Examen Parcial Respuesta: :Solución Profr. Eduardo Uresti, Enero-Mayo 2011

Programación Lineal y Optimización Segundo Examen Parcial Respuesta: :Solución Profr. Eduardo Uresti, Enero-Mayo 2011 Matrícula: Nombre: Programación Lineal y Optimización Segundo Examen Parcial Respuesta: : Profr. Eduardo Uresti, Enero-Mayo 2011 1. Suponga que tiene una empresa que produce tres tipos de productos (P

Más detalles