Lenguaje de dominio específico embebido para programación estocástica multietapa en Scala
Supervisor(es): Testuri, Carlos E. - Pardo, Alberto
Resumen:
El soporte brindado por los lenguajes de modelado algebraico para trabajar con problemas de programación estocástica multietapa basada en escenarios es, en general, limitado y poco práctico. Las problemáticas incluyen excesiva verbosidad o redundancia, expresividad limitada, dificultad de integración con sistemas externos, ecosistemas cerrados, y dificultad para desarrollar extensiones. Los problemas de programación estocástica basados en escenarios suelen ser tratados como problemas de programación entera mixta a través de su forma extensiva, lo que permite utilizar todas las herramientas disponibles para ese tipo de problemas en la implementación computacional y resolución de los problemas estocásticos. Tratar a los problemas de programación estocástica como problemas enteros mixtos no es ideal. En primer lugar, exige la incorporación del control de la no anticipatividad de las decisiones en los modelos. Por otra parte, no brinda ninguna asistencia en la construcción del árbol de escenarios y la especificación de los valores de los parámetros estocásticos en forma consistente. Por último, no permite explotar la estructura particular de los problemas de programación estocástica en su resolución. En este trabajo se desarrolla un lenguaje de dominio específico (DSL), denominado amphip, en el que se explora una extensión al lenguaje de modelado algebraico para problemas de programación entera mixta, GNU MathProg, para incorporar soporte directo para programación estocástica multietapa basada en escenarios. El DSL es embebido en el lenguaje de programación Scala, permitiendo que los modelos puedan ser transformados y manipulados. El desarrollo es realizado utilizando íntegramente programación funcional, aprovechando el soporte provisto por Scala. El DSL desarrollado permite modelar los problemas de programación estocástica utilizando la formulación con escenarios separados. Las entidades del modelo son declaradas con una sintaxis que logra replicar con gran fidelidad la de MathProg. El DSL provee primitivas para la especificación del árbol de escenarios, las probabilidades, y los valores de los parámetros estocásticos en forma concisa y flexible. Aplicando transformaciones al modelo, se generan automáticamente las restricciones de no anticipatividad y versiones alternativas de los parámetros estocásticos sin escenarios separados, lo que permite construir una forma extensiva que es más eficiente que la se construiría manualmente. La funcionalidad provista puede ser extendida por el usuario, pudiendo definir, con pocas líneas de código, funciones para la construcción de árboles de escenarios con estructuras particulares, esquemas alternativos para definir las probabilidades de los escenarios, y funciones auxiliares para especificar los datos de los parámetros estocásticos tomando en cuenta las instancias particulares de los problemas.
Support provided by algebraic modeling languages for scenario-based multistage stochastic programming is, in general, limited and impractical. Problems include excessive verbosity or redundancy, limited expressiveness, difficulties integrating with external systems, closed ecosystems, and difficulties developing extensions. Scenario-based stochastic programming problemas are usually treated as mixed integer programming problemas through their extensive form, which allows to use all the tools available for that type of problems in the computational implementation and resolution of stochastic problems. Treating stochastic programming problems as mixed integer problems is not ideal. In the first place, it requires the incorporation of control of the non-anticipativity of decisions in the models. Moreover, it does not provide any assistance in building the scenario tree and specifying the values of the stochastic parameters consistently. Finally, it does not allows to exploit the particular structure of stochastic programming problems in their resolution. In this work, a domain specific language (DSL), called amphip, is developed, in which an extension to the algebraic modeling language for mixed integer programming problems, GNU MathProg, is explored to incorporate direct support for scenario-based multistage stochastic programming. The DSL is embedded in the Scala programming language, allowing models to be transformed and manipulated. The development is carried out entirely using functional programming, taking advantage of the support provided by Scala. The developed DSL allows modeling stochastic programming problems using the formulation with separated scenarios. Model entities are declared with a syntax that replicates that of MathProg with great fidelity. The DSL provides primitives for specifying the scenario tree, probabilities, and stochastic parameter values in a concise and flexible way. Applying transformations to the model, the non-anticipativity constraints and alternative versions of the stochastic parameters without separated scenarios are automatically generated, which allows building an extensive form that is more efficient than the one that would be built manually. The functionality provided can be extended by the user, being able to define, with a few lines of code, functions for the construction of scenario trees with particular structures, alternative schemes to define the probabilities of the scenarios, and auxiliary functions to specify the data of the stochastic parameters taking into account the particular instances of the problems.
2022 | |
Programación estocástica multietapa basada en escenarios Lenguaje de dominio específico embebido MathProg Scala Programación funcional |
|
Español | |
Universidad de la República | |
COLIBRI | |
https://hdl.handle.net/20.500.12008/33136 | |
Acceso abierto | |
Licencia Creative Commons Atribución - No Comercial - Sin Derivadas (CC - By-NC-ND 4.0) |
_version_ | 1807523182529216512 |
---|---|
author | Ferrari, Germán |
author_facet | Ferrari, Germán |
author_role | author |
bitstream.checksum.fl_str_mv | 6429389a7df7277b72b7924fdc7d47a9 a006180e3f5b2ad0b88185d14284c0e0 36c32e9c6da50e6d55578c16944ef7f6 1996b8461bc290aef6a27d78c67b6b52 2f82f8434abbf2174f37d8656e6195f5 |
bitstream.checksumAlgorithm.fl_str_mv | MD5 MD5 MD5 MD5 MD5 |
bitstream.url.fl_str_mv | http://localhost:8080/xmlui/bitstream/20.500.12008/33136/5/license.txt http://localhost:8080/xmlui/bitstream/20.500.12008/33136/2/license_url http://localhost:8080/xmlui/bitstream/20.500.12008/33136/3/license_text http://localhost:8080/xmlui/bitstream/20.500.12008/33136/4/license_rdf http://localhost:8080/xmlui/bitstream/20.500.12008/33136/1/Fer22.pdf |
collection | COLIBRI |
dc.contributor.filiacion.none.fl_str_mv | Ferrari Germán, Universidad de la República (Uruguay). Facultad de Ingeniería. |
dc.creator.advisor.none.fl_str_mv | Testuri, Carlos E. Pardo, Alberto |
dc.creator.none.fl_str_mv | Ferrari, Germán |
dc.date.accessioned.none.fl_str_mv | 2022-08-15T15:30:27Z |
dc.date.available.none.fl_str_mv | 2022-08-15T15:30:27Z |
dc.date.issued.none.fl_str_mv | 2022 |
dc.description.abstract.none.fl_txt_mv | El soporte brindado por los lenguajes de modelado algebraico para trabajar con problemas de programación estocástica multietapa basada en escenarios es, en general, limitado y poco práctico. Las problemáticas incluyen excesiva verbosidad o redundancia, expresividad limitada, dificultad de integración con sistemas externos, ecosistemas cerrados, y dificultad para desarrollar extensiones. Los problemas de programación estocástica basados en escenarios suelen ser tratados como problemas de programación entera mixta a través de su forma extensiva, lo que permite utilizar todas las herramientas disponibles para ese tipo de problemas en la implementación computacional y resolución de los problemas estocásticos. Tratar a los problemas de programación estocástica como problemas enteros mixtos no es ideal. En primer lugar, exige la incorporación del control de la no anticipatividad de las decisiones en los modelos. Por otra parte, no brinda ninguna asistencia en la construcción del árbol de escenarios y la especificación de los valores de los parámetros estocásticos en forma consistente. Por último, no permite explotar la estructura particular de los problemas de programación estocástica en su resolución. En este trabajo se desarrolla un lenguaje de dominio específico (DSL), denominado amphip, en el que se explora una extensión al lenguaje de modelado algebraico para problemas de programación entera mixta, GNU MathProg, para incorporar soporte directo para programación estocástica multietapa basada en escenarios. El DSL es embebido en el lenguaje de programación Scala, permitiendo que los modelos puedan ser transformados y manipulados. El desarrollo es realizado utilizando íntegramente programación funcional, aprovechando el soporte provisto por Scala. El DSL desarrollado permite modelar los problemas de programación estocástica utilizando la formulación con escenarios separados. Las entidades del modelo son declaradas con una sintaxis que logra replicar con gran fidelidad la de MathProg. El DSL provee primitivas para la especificación del árbol de escenarios, las probabilidades, y los valores de los parámetros estocásticos en forma concisa y flexible. Aplicando transformaciones al modelo, se generan automáticamente las restricciones de no anticipatividad y versiones alternativas de los parámetros estocásticos sin escenarios separados, lo que permite construir una forma extensiva que es más eficiente que la se construiría manualmente. La funcionalidad provista puede ser extendida por el usuario, pudiendo definir, con pocas líneas de código, funciones para la construcción de árboles de escenarios con estructuras particulares, esquemas alternativos para definir las probabilidades de los escenarios, y funciones auxiliares para especificar los datos de los parámetros estocásticos tomando en cuenta las instancias particulares de los problemas. Support provided by algebraic modeling languages for scenario-based multistage stochastic programming is, in general, limited and impractical. Problems include excessive verbosity or redundancy, limited expressiveness, difficulties integrating with external systems, closed ecosystems, and difficulties developing extensions. Scenario-based stochastic programming problemas are usually treated as mixed integer programming problemas through their extensive form, which allows to use all the tools available for that type of problems in the computational implementation and resolution of stochastic problems. Treating stochastic programming problems as mixed integer problems is not ideal. In the first place, it requires the incorporation of control of the non-anticipativity of decisions in the models. Moreover, it does not provide any assistance in building the scenario tree and specifying the values of the stochastic parameters consistently. Finally, it does not allows to exploit the particular structure of stochastic programming problems in their resolution. In this work, a domain specific language (DSL), called amphip, is developed, in which an extension to the algebraic modeling language for mixed integer programming problems, GNU MathProg, is explored to incorporate direct support for scenario-based multistage stochastic programming. The DSL is embedded in the Scala programming language, allowing models to be transformed and manipulated. The development is carried out entirely using functional programming, taking advantage of the support provided by Scala. The developed DSL allows modeling stochastic programming problems using the formulation with separated scenarios. Model entities are declared with a syntax that replicates that of MathProg with great fidelity. The DSL provides primitives for specifying the scenario tree, probabilities, and stochastic parameter values in a concise and flexible way. Applying transformations to the model, the non-anticipativity constraints and alternative versions of the stochastic parameters without separated scenarios are automatically generated, which allows building an extensive form that is more efficient than the one that would be built manually. The functionality provided can be extended by the user, being able to define, with a few lines of code, functions for the construction of scenario trees with particular structures, alternative schemes to define the probabilities of the scenarios, and auxiliary functions to specify the data of the stochastic parameters taking into account the particular instances of the problems. |
dc.format.extent.es.fl_str_mv | 173 p. |
dc.format.mimetype.es.fl_str_mv | application/pdf |
dc.identifier.citation.es.fl_str_mv | Ferrari, G. Lenguaje de dominio específico embebido para programación estocástica multietapa en Scala [en línea]. Tesis de maestría. Montevideo : Udelar. FI. INCO : PEDECIBA. Área Informática, 2022. |
dc.identifier.issn.none.fl_str_mv | 1688-2792 |
dc.identifier.uri.none.fl_str_mv | https://hdl.handle.net/20.500.12008/33136 |
dc.language.iso.none.fl_str_mv | es spa |
dc.publisher.es.fl_str_mv | Udelar. FI. |
dc.rights.license.none.fl_str_mv | Licencia Creative Commons Atribución - No Comercial - Sin Derivadas (CC - By-NC-ND 4.0) |
dc.rights.none.fl_str_mv | info:eu-repo/semantics/openAccess |
dc.source.none.fl_str_mv | reponame:COLIBRI instname:Universidad de la República instacron:Universidad de la República |
dc.subject.es.fl_str_mv | Programación estocástica multietapa basada en escenarios Lenguaje de dominio específico embebido MathProg Scala Programación funcional |
dc.title.none.fl_str_mv | Lenguaje de dominio específico embebido para programación estocástica multietapa en Scala |
dc.type.es.fl_str_mv | Tesis de maestría |
dc.type.none.fl_str_mv | info:eu-repo/semantics/masterThesis |
dc.type.version.none.fl_str_mv | info:eu-repo/semantics/acceptedVersion |
description | El soporte brindado por los lenguajes de modelado algebraico para trabajar con problemas de programación estocástica multietapa basada en escenarios es, en general, limitado y poco práctico. Las problemáticas incluyen excesiva verbosidad o redundancia, expresividad limitada, dificultad de integración con sistemas externos, ecosistemas cerrados, y dificultad para desarrollar extensiones. Los problemas de programación estocástica basados en escenarios suelen ser tratados como problemas de programación entera mixta a través de su forma extensiva, lo que permite utilizar todas las herramientas disponibles para ese tipo de problemas en la implementación computacional y resolución de los problemas estocásticos. Tratar a los problemas de programación estocástica como problemas enteros mixtos no es ideal. En primer lugar, exige la incorporación del control de la no anticipatividad de las decisiones en los modelos. Por otra parte, no brinda ninguna asistencia en la construcción del árbol de escenarios y la especificación de los valores de los parámetros estocásticos en forma consistente. Por último, no permite explotar la estructura particular de los problemas de programación estocástica en su resolución. En este trabajo se desarrolla un lenguaje de dominio específico (DSL), denominado amphip, en el que se explora una extensión al lenguaje de modelado algebraico para problemas de programación entera mixta, GNU MathProg, para incorporar soporte directo para programación estocástica multietapa basada en escenarios. El DSL es embebido en el lenguaje de programación Scala, permitiendo que los modelos puedan ser transformados y manipulados. El desarrollo es realizado utilizando íntegramente programación funcional, aprovechando el soporte provisto por Scala. El DSL desarrollado permite modelar los problemas de programación estocástica utilizando la formulación con escenarios separados. Las entidades del modelo son declaradas con una sintaxis que logra replicar con gran fidelidad la de MathProg. El DSL provee primitivas para la especificación del árbol de escenarios, las probabilidades, y los valores de los parámetros estocásticos en forma concisa y flexible. Aplicando transformaciones al modelo, se generan automáticamente las restricciones de no anticipatividad y versiones alternativas de los parámetros estocásticos sin escenarios separados, lo que permite construir una forma extensiva que es más eficiente que la se construiría manualmente. La funcionalidad provista puede ser extendida por el usuario, pudiendo definir, con pocas líneas de código, funciones para la construcción de árboles de escenarios con estructuras particulares, esquemas alternativos para definir las probabilidades de los escenarios, y funciones auxiliares para especificar los datos de los parámetros estocásticos tomando en cuenta las instancias particulares de los problemas. |
eu_rights_str_mv | openAccess |
format | masterThesis |
id | COLIBRI_b474e40fa312dc2e5377b24429061e3b |
identifier_str_mv | Ferrari, G. Lenguaje de dominio específico embebido para programación estocástica multietapa en Scala [en línea]. Tesis de maestría. Montevideo : Udelar. FI. INCO : PEDECIBA. Área Informática, 2022. 1688-2792 |
instacron_str | Universidad de la República |
institution | Universidad de la República |
instname_str | Universidad de la República |
language | spa |
language_invalid_str_mv | es |
network_acronym_str | COLIBRI |
network_name_str | COLIBRI |
oai_identifier_str | oai:colibri.udelar.edu.uy:20.500.12008/33136 |
publishDate | 2022 |
reponame_str | COLIBRI |
repository.mail.fl_str_mv | mabel.seroubian@seciu.edu.uy |
repository.name.fl_str_mv | COLIBRI - Universidad de la República |
repository_id_str | 4771 |
rights_invalid_str_mv | Licencia Creative Commons Atribución - No Comercial - Sin Derivadas (CC - By-NC-ND 4.0) |
spelling | Ferrari Germán, Universidad de la República (Uruguay). Facultad de Ingeniería.2022-08-15T15:30:27Z2022-08-15T15:30:27Z2022Ferrari, G. Lenguaje de dominio específico embebido para programación estocástica multietapa en Scala [en línea]. Tesis de maestría. Montevideo : Udelar. FI. INCO : PEDECIBA. Área Informática, 2022.1688-2792https://hdl.handle.net/20.500.12008/33136El soporte brindado por los lenguajes de modelado algebraico para trabajar con problemas de programación estocástica multietapa basada en escenarios es, en general, limitado y poco práctico. Las problemáticas incluyen excesiva verbosidad o redundancia, expresividad limitada, dificultad de integración con sistemas externos, ecosistemas cerrados, y dificultad para desarrollar extensiones. Los problemas de programación estocástica basados en escenarios suelen ser tratados como problemas de programación entera mixta a través de su forma extensiva, lo que permite utilizar todas las herramientas disponibles para ese tipo de problemas en la implementación computacional y resolución de los problemas estocásticos. Tratar a los problemas de programación estocástica como problemas enteros mixtos no es ideal. En primer lugar, exige la incorporación del control de la no anticipatividad de las decisiones en los modelos. Por otra parte, no brinda ninguna asistencia en la construcción del árbol de escenarios y la especificación de los valores de los parámetros estocásticos en forma consistente. Por último, no permite explotar la estructura particular de los problemas de programación estocástica en su resolución. En este trabajo se desarrolla un lenguaje de dominio específico (DSL), denominado amphip, en el que se explora una extensión al lenguaje de modelado algebraico para problemas de programación entera mixta, GNU MathProg, para incorporar soporte directo para programación estocástica multietapa basada en escenarios. El DSL es embebido en el lenguaje de programación Scala, permitiendo que los modelos puedan ser transformados y manipulados. El desarrollo es realizado utilizando íntegramente programación funcional, aprovechando el soporte provisto por Scala. El DSL desarrollado permite modelar los problemas de programación estocástica utilizando la formulación con escenarios separados. Las entidades del modelo son declaradas con una sintaxis que logra replicar con gran fidelidad la de MathProg. El DSL provee primitivas para la especificación del árbol de escenarios, las probabilidades, y los valores de los parámetros estocásticos en forma concisa y flexible. Aplicando transformaciones al modelo, se generan automáticamente las restricciones de no anticipatividad y versiones alternativas de los parámetros estocásticos sin escenarios separados, lo que permite construir una forma extensiva que es más eficiente que la se construiría manualmente. La funcionalidad provista puede ser extendida por el usuario, pudiendo definir, con pocas líneas de código, funciones para la construcción de árboles de escenarios con estructuras particulares, esquemas alternativos para definir las probabilidades de los escenarios, y funciones auxiliares para especificar los datos de los parámetros estocásticos tomando en cuenta las instancias particulares de los problemas.Support provided by algebraic modeling languages for scenario-based multistage stochastic programming is, in general, limited and impractical. Problems include excessive verbosity or redundancy, limited expressiveness, difficulties integrating with external systems, closed ecosystems, and difficulties developing extensions. Scenario-based stochastic programming problemas are usually treated as mixed integer programming problemas through their extensive form, which allows to use all the tools available for that type of problems in the computational implementation and resolution of stochastic problems. Treating stochastic programming problems as mixed integer problems is not ideal. In the first place, it requires the incorporation of control of the non-anticipativity of decisions in the models. Moreover, it does not provide any assistance in building the scenario tree and specifying the values of the stochastic parameters consistently. Finally, it does not allows to exploit the particular structure of stochastic programming problems in their resolution. In this work, a domain specific language (DSL), called amphip, is developed, in which an extension to the algebraic modeling language for mixed integer programming problems, GNU MathProg, is explored to incorporate direct support for scenario-based multistage stochastic programming. The DSL is embedded in the Scala programming language, allowing models to be transformed and manipulated. The development is carried out entirely using functional programming, taking advantage of the support provided by Scala. The developed DSL allows modeling stochastic programming problems using the formulation with separated scenarios. Model entities are declared with a syntax that replicates that of MathProg with great fidelity. The DSL provides primitives for specifying the scenario tree, probabilities, and stochastic parameter values in a concise and flexible way. Applying transformations to the model, the non-anticipativity constraints and alternative versions of the stochastic parameters without separated scenarios are automatically generated, which allows building an extensive form that is more efficient than the one that would be built manually. The functionality provided can be extended by the user, being able to define, with a few lines of code, functions for the construction of scenario trees with particular structures, alternative schemes to define the probabilities of the scenarios, and auxiliary functions to specify the data of the stochastic parameters taking into account the particular instances of the problems.Submitted by Machado Jimena (jmachado@fing.edu.uy) on 2022-08-15T14:52:52Z No. of bitstreams: 2 license_rdf: 23149 bytes, checksum: 1996b8461bc290aef6a27d78c67b6b52 (MD5) Fer22.pdf: 1457579 bytes, checksum: 2f82f8434abbf2174f37d8656e6195f5 (MD5)Approved for entry into archive by Machado Jimena (jmachado@fing.edu.uy) on 2022-08-15T15:03:08Z (GMT) No. of bitstreams: 2 license_rdf: 23149 bytes, checksum: 1996b8461bc290aef6a27d78c67b6b52 (MD5) Fer22.pdf: 1457579 bytes, checksum: 2f82f8434abbf2174f37d8656e6195f5 (MD5)Made available in DSpace by Luna Fabiana (fabiana.luna@seciu.edu.uy) on 2022-08-15T15:30:27Z (GMT). No. of bitstreams: 2 license_rdf: 23149 bytes, checksum: 1996b8461bc290aef6a27d78c67b6b52 (MD5) Fer22.pdf: 1457579 bytes, checksum: 2f82f8434abbf2174f37d8656e6195f5 (MD5) Previous issue date: 2022173 p.application/pdfesspaUdelar. FI.Las obras depositadas en el Repositorio se rigen por la Ordenanza de los Derechos de la Propiedad Intelectual de la Universidad de la República.(Res. Nº 91 de C.D.C. de 8/III/1994 – D.O. 7/IV/1994) y por la Ordenanza del Repositorio Abierto de la Universidad de la República (Res. Nº 16 de C.D.C. de 07/10/2014)info:eu-repo/semantics/openAccessLicencia Creative Commons Atribución - No Comercial - Sin Derivadas (CC - By-NC-ND 4.0)Programación estocástica multietapa basada en escenariosLenguaje de dominio específico embebidoMathProgScalaProgramación funcionalLenguaje de dominio específico embebido para programación estocástica multietapa en ScalaTesis de maestríainfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/acceptedVersionreponame:COLIBRIinstname:Universidad de la Repúblicainstacron:Universidad de la RepúblicaFerrari, GermánTesturi, Carlos E.Pardo, AlbertoUniversidad de la República (Uruguay). Facultad de IngenieríaMagíster en InformáticaLICENSElicense.txtlicense.txttext/plain; charset=utf-84267http://localhost:8080/xmlui/bitstream/20.500.12008/33136/5/license.txt6429389a7df7277b72b7924fdc7d47a9MD55CC-LICENSElicense_urllicense_urltext/plain; charset=utf-850http://localhost:8080/xmlui/bitstream/20.500.12008/33136/2/license_urla006180e3f5b2ad0b88185d14284c0e0MD52license_textlicense_texttext/html; charset=utf-838616http://localhost:8080/xmlui/bitstream/20.500.12008/33136/3/license_text36c32e9c6da50e6d55578c16944ef7f6MD53license_rdflicense_rdfapplication/rdf+xml; charset=utf-823149http://localhost:8080/xmlui/bitstream/20.500.12008/33136/4/license_rdf1996b8461bc290aef6a27d78c67b6b52MD54ORIGINALFer22.pdfFer22.pdfapplication/pdf1457579http://localhost:8080/xmlui/bitstream/20.500.12008/33136/1/Fer22.pdf2f82f8434abbf2174f37d8656e6195f5MD5120.500.12008/331362022-08-15 12:30:27.171oai:colibri.udelar.edu.uy:20.500.12008/33136VGVybWlub3MgeSBjb25kaWNpb25lcyByZWxhdGl2YXMgYWwgZGVwb3NpdG8gZGUgb2JyYXMKCgpMYXMgb2JyYXMgZGVwb3NpdGFkYXMgZW4gZWwgUmVwb3NpdG9yaW8gc2UgcmlnZW4gcG9yIGxhIE9yZGVuYW56YSBkZSBsb3MgRGVyZWNob3MgZGUgbGEgUHJvcGllZGFkIEludGVsZWN0dWFsICBkZSBsYSBVbml2ZXJzaWRhZCBEZSBMYSBSZXDDumJsaWNhLiAoUmVzLiBOwrogOTEgZGUgQy5ELkMuIGRlIDgvSUlJLzE5OTQg4oCTIEQuTy4gNy9JVi8xOTk0KSB5ICBwb3IgbGEgT3JkZW5hbnphIGRlbCBSZXBvc2l0b3JpbyBBYmllcnRvIGRlIGxhIFVuaXZlcnNpZGFkIGRlIGxhIFJlcMO6YmxpY2EgKFJlcy4gTsK6IDE2IGRlIEMuRC5DLiBkZSAwNy8xMC8yMDE0KS4gCgpBY2VwdGFuZG8gZWwgYXV0b3IgZXN0b3MgdMOpcm1pbm9zIHkgY29uZGljaW9uZXMgZGUgZGVww7NzaXRvIGVuIENPTElCUkksIGxhIFVuaXZlcnNpZGFkIGRlIFJlcMO6YmxpY2EgcHJvY2VkZXLDoSBhOiAgCgphKSBhcmNoaXZhciBtw6FzIGRlIHVuYSBjb3BpYSBkZSBsYSBvYnJhIGVuIGxvcyBzZXJ2aWRvcmVzIGRlIGxhIFVuaXZlcnNpZGFkIGEgbG9zIGVmZWN0b3MgZGUgZ2FyYW50aXphciBhY2Nlc28sIHNlZ3VyaWRhZCB5IHByZXNlcnZhY2nDs24KYikgY29udmVydGlyIGxhIG9icmEgYSBvdHJvcyBmb3JtYXRvcyBzaSBmdWVyYSBuZWNlc2FyaW8gIHBhcmEgZmFjaWxpdGFyIHN1IHByZXNlcnZhY2nDs24geSBhY2Nlc2liaWxpZGFkIHNpbiBhbHRlcmFyIHN1IGNvbnRlbmlkby4KYykgcmVhbGl6YXIgbGEgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGRpc3BvbmVyIGVsIGFjY2VzbyBsaWJyZSB5IGdyYXR1aXRvIGEgdHJhdsOpcyBkZSBJbnRlcm5ldCBtZWRpYW50ZSBsYSBwdWJsaWNhY2nDs24gZGUgbGEgb2JyYSBiYWpvIGxhIGxpY2VuY2lhIENyZWF0aXZlIENvbW1vbnMgc2VsZWNjaW9uYWRhIHBvciBlbCBwcm9waW8gYXV0b3IuCgoKRW4gY2FzbyBxdWUgZWwgYXV0b3IgaGF5YSBkaWZ1bmRpZG8geSBkYWRvIGEgcHVibGljaWRhZCBhIGxhIG9icmEgZW4gZm9ybWEgcHJldmlhLCAgcG9kcsOhIHNvbGljaXRhciB1biBwZXLDrW9kbyBkZSBlbWJhcmdvIHNvYnJlIGxhIGRpc3BvbmliaWxpZGFkIHDDumJsaWNhIGRlIGxhIG1pc21hLCBlbCBjdWFsIGNvbWVuemFyw6EgYSBwYXJ0aXIgZGUgbGEgYWNlcHRhY2nDs24gZGUgZXN0ZSBkb2N1bWVudG8geSBoYXN0YSBsYSBmZWNoYSBxdWUgaW5kaXF1ZSAuCgpFbCBhdXRvciBhc2VndXJhIHF1ZSBsYSBvYnJhIG5vIGluZnJpZ2UgbmluZ8O6biBkZXJlY2hvIHNvYnJlIHRlcmNlcm9zLCB5YSBzZWEgZGUgcHJvcGllZGFkIGludGVsZWN0dWFsIG8gY3VhbHF1aWVyIG90cm8uCgpFbCBhdXRvciBnYXJhbnRpemEgcXVlIHNpIGVsIGRvY3VtZW50byBjb250aWVuZSBtYXRlcmlhbGVzIGRlIGxvcyBjdWFsZXMgbm8gdGllbmUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCAgaGEgb2J0ZW5pZG8gZWwgcGVybWlzbyBkZWwgcHJvcGlldGFyaW8gZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCB5IHF1ZSBlc2UgbWF0ZXJpYWwgY3V5b3MgZGVyZWNob3Mgc29uIGRlIHRlcmNlcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIHkgcmVjb25vY2lkbyBlbiBlbCB0ZXh0byBvIGNvbnRlbmlkbyBkZWwgZG9jdW1lbnRvIGRlcG9zaXRhZG8gZW4gZWwgUmVwb3NpdG9yaW8uCgpFbiBvYnJhcyBkZSBhdXRvcsOtYSBtw7psdGlwbGUgL3NlIHByZXN1bWUvIHF1ZSBlbCBhdXRvciBkZXBvc2l0YW50ZSBkZWNsYXJhIHF1ZSBoYSByZWNhYmFkbyBlbCBjb25zZW50aW1pZW50byBkZSB0b2RvcyBsb3MgYXV0b3JlcyBwYXJhIHB1YmxpY2FybGEgZW4gZWwgUmVwb3NpdG9yaW8sIHNpZW5kbyDDqXN0ZSBlbCDDum5pY28gcmVzcG9uc2FibGUgZnJlbnRlIGEgY3VhbHF1aWVyIHRpcG8gZGUgcmVjbGFtYWNpw7NuIGRlIGxvcyBvdHJvcyBjb2F1dG9yZXMuCgpFbCBhdXRvciBzZXLDoSByZXNwb25zYWJsZSBkZWwgY29udGVuaWRvIGRlIGxvcyBkb2N1bWVudG9zIHF1ZSBkZXBvc2l0YS4gTGEgVURFTEFSIG5vIHNlcsOhIHJlc3BvbnNhYmxlIHBvciBsYXMgZXZlbnR1YWxlcyB2aW9sYWNpb25lcyBhbCBkZXJlY2hvIGRlIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBlbiBxdWUgcHVlZGEgaW5jdXJyaXIgZWwgYXV0b3IuCgpBbnRlIGN1YWxxdWllciBkZW51bmNpYSBkZSB2aW9sYWNpw7NuIGRlIGRlcmVjaG9zIGRlIHByb3BpZWRhZCBpbnRlbGVjdHVhbCwgbGEgVURFTEFSICBhZG9wdGFyw6EgdG9kYXMgbGFzIG1lZGlkYXMgbmVjZXNhcmlhcyBwYXJhIGV2aXRhciBsYSBjb250aW51YWNpw7NuIGRlIGRpY2hhIGluZnJhY2Npw7NuLCBsYXMgcXVlIHBvZHLDoW4gaW5jbHVpciBlbCByZXRpcm8gZGVsIGFjY2VzbyBhIGxvcyBjb250ZW5pZG9zIHkvbyBtZXRhZGF0b3MgZGVsIGRvY3VtZW50byByZXNwZWN0aXZvLgoKTGEgb2JyYSBzZSBwb25kcsOhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBhIHRyYXbDqXMgZGUgbGFzIGxpY2VuY2lhcyBDcmVhdGl2ZSBDb21tb25zLCBlbCBhdXRvciBwb2Ryw6Egc2VsZWNjaW9uYXIgdW5hIGRlIGxhcyA2IGxpY2VuY2lhcyBkaXNwb25pYmxlczoKCgpBdHJpYnVjacOzbiAoQ0MgLSBCeSk6IFBlcm1pdGUgdXNhciBsYSBvYnJhIHkgZ2VuZXJhciBvYnJhcyBkZXJpdmFkYXMsIGluY2x1c28gY29uIGZpbmVzIGNvbWVyY2lhbGVzLCBzaWVtcHJlIHF1ZSBzZSByZWNvbm96Y2EgYWwgYXV0b3IuCgpBdHJpYnVjacOzbiDigJMgQ29tcGFydGlyIElndWFsIChDQyAtIEJ5LVNBKTogUGVybWl0ZSB1c2FyIGxhIG9icmEgeSBnZW5lcmFyIG9icmFzIGRlcml2YWRhcywgaW5jbHVzbyBjb24gZmluZXMgY29tZXJjaWFsZXMsIHBlcm8gbGEgZGlzdHJpYnVjacOzbiBkZSBsYXMgb2JyYXMgZGVyaXZhZGFzIGRlYmUgaGFjZXJzZSBtZWRpYW50ZSB1bmEgbGljZW5jaWEgaWTDqW50aWNhIGEgbGEgZGUgbGEgb2JyYSBvcmlnaW5hbCwgcmVjb25vY2llbmRvIGEgbG9zIGF1dG9yZXMuCgpBdHJpYnVjacOzbiDigJMgTm8gQ29tZXJjaWFsIChDQyAtIEJ5LU5DKTogUGVybWl0ZSB1c2FyIGxhIG9icmEgeSBnZW5lcmFyIG9icmFzIGRlcml2YWRhcywgc2llbXByZSB5IGN1YW5kbyBlc29zIHVzb3Mgbm8gdGVuZ2FuIGZpbmVzIGNvbWVyY2lhbGVzLCByZWNvbm9jaWVuZG8gYWwgYXV0b3IuCgpBdHJpYnVjacOzbiDigJMgU2luIERlcml2YWRhcyAoQ0MgLSBCeS1ORCk6IFBlcm1pdGUgZWwgdXNvIGRlIGxhIG9icmEsIGluY2x1c28gY29uIGZpbmVzIGNvbWVyY2lhbGVzLCBwZXJvIG5vIHNlIHBlcm1pdGUgZ2VuZXJhciBvYnJhcyBkZXJpdmFkYXMsIGRlYmllbmRvIHJlY29ub2NlciBhbCBhdXRvci4KCkF0cmlidWNpw7NuIOKAkyBObyBDb21lcmNpYWwg4oCTIENvbXBhcnRpciBJZ3VhbCAoQ0Mg4oCTIEJ5LU5DLVNBKTogUGVybWl0ZSB1c2FyIGxhIG9icmEgeSBnZW5lcmFyIG9icmFzIGRlcml2YWRhcywgc2llbXByZSB5IGN1YW5kbyBlc29zIHVzb3Mgbm8gdGVuZ2FuIGZpbmVzIGNvbWVyY2lhbGVzIHkgbGEgZGlzdHJpYnVjacOzbiBkZSBsYXMgb2JyYXMgZGVyaXZhZGFzIHNlIGhhZ2EgbWVkaWFudGUgbGljZW5jaWEgaWTDqW50aWNhIGEgbGEgZGUgbGEgb2JyYSBvcmlnaW5hbCwgcmVjb25vY2llbmRvIGEgbG9zIGF1dG9yZXMuCgpBdHJpYnVjacOzbiDigJMgTm8gQ29tZXJjaWFsIOKAkyBTaW4gRGVyaXZhZGFzIChDQyAtIEJ5LU5DLU5EKTogUGVybWl0ZSB1c2FyIGxhIG9icmEsIHBlcm8gbm8gc2UgcGVybWl0ZSBnZW5lcmFyIG9icmFzIGRlcml2YWRhcyB5IG5vIHNlIHBlcm1pdGUgdXNvIGNvbiBmaW5lcyBjb21lcmNpYWxlcywgZGViaWVuZG8gcmVjb25vY2VyIGFsIGF1dG9yLgoKTG9zIHVzb3MgcHJldmlzdG9zIGVuIGxhcyBsaWNlbmNpYXMgaW5jbHV5ZW4gbGEgZW5hamVuYWNpw7NuLCByZXByb2R1Y2Npw7NuLCBjb211bmljYWNpw7NuLCBwdWJsaWNhY2nDs24sIGRpc3RyaWJ1Y2nDs24geSBwdWVzdGEgYSBkaXNwb3NpY2nDs24gZGVsIHDDumJsaWNvLiBMYSBjcmVhY2nDs24gZGUgb2JyYXMgZGVyaXZhZGFzIGluY2x1eWUgbGEgYWRhcHRhY2nDs24sIHRyYWR1Y2Npw7NuIHkgZWwgcmVtaXguCgpDdWFuZG8gc2Ugc2VsZWNjaW9uZSB1bmEgbGljZW5jaWEgcXVlIGhhYmlsaXRlIHVzb3MgY29tZXJjaWFsZXMsIGVsIGRlcMOzc2l0byBkZWJlcsOhIHNlciBhY29tcGHDsWFkbyBkZWwgYXZhbCBkZWwgamVyYXJjYSBtw6F4aW1vIGRlbCBTZXJ2aWNpbyBjb3JyZXNwb25kaWVudGUuCg==Universidadhttps://udelar.edu.uy/https://www.colibri.udelar.edu.uy/oai/requestmabel.seroubian@seciu.edu.uyUruguayopendoar:47712024-07-25T14:44:28.141970COLIBRI - Universidad de la Repúblicafalse |
spellingShingle | Lenguaje de dominio específico embebido para programación estocástica multietapa en Scala Ferrari, Germán Programación estocástica multietapa basada en escenarios Lenguaje de dominio específico embebido MathProg Scala Programación funcional |
status_str | acceptedVersion |
title | Lenguaje de dominio específico embebido para programación estocástica multietapa en Scala |
title_full | Lenguaje de dominio específico embebido para programación estocástica multietapa en Scala |
title_fullStr | Lenguaje de dominio específico embebido para programación estocástica multietapa en Scala |
title_full_unstemmed | Lenguaje de dominio específico embebido para programación estocástica multietapa en Scala |
title_short | Lenguaje de dominio específico embebido para programación estocástica multietapa en Scala |
title_sort | Lenguaje de dominio específico embebido para programación estocástica multietapa en Scala |
topic | Programación estocástica multietapa basada en escenarios Lenguaje de dominio específico embebido MathProg Scala Programación funcional |
url | https://hdl.handle.net/20.500.12008/33136 |