Lenguaje de dominio específico embebido para programación estocástica multietapa en Scala

Ferrari, Germán

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.


Detalles Bibliográficos
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