Branch-and-cut optimization solvers typically apply generic algorithms, e.g., cutting planes or primal heuristics, to expedite performance for many mathematical optimization problems. But solver software receives an i...
详细信息
Branch-and-cut optimization solvers typically apply generic algorithms, e.g., cutting planes or primal heuristics, to expedite performance for many mathematical optimization problems. But solver software receives an input optimization problem as vectors of equations and constraints containing no structural information. This article proposes automatically detecting named special structure using the pattern matching features of functional programming. Specifically, we deduce the industrially-relevant nonconvex nonlinear Pooling Problem within a mixed-integer nonlinear optimization problem and show that we can uncover pooling structure in optimization problems which are not pooling problems. Previous work has shown that preprocessing heuristics can find network structures;we show that we can additionally detect nonlinear pooling patterns. Finding named structures allows us to apply, to generic optimization problems, cutting planes or primal heuristics developed for the named structure. To demonstrate the recognition algorithm, we use the recognized structure to apply primal heuristics to a test set of standard pooling problems. (C) 2016 The Authors AIChE Journal published by Wiley Periodicals, Inc. on behalf of American Institute of Chemical Engineers
One important tool for building software is facilities for encapsulating abstractions. The currently popular programming paradigms for parallel computing do not provide such an encapsulation capability if parallelism ...
详细信息
Set abstraction, originally introduced in fuctional languages by Turner, is an appealing construct because it leads to concise definitions of many interesting operations. However, existing approaches treat sets as lis...
详细信息
This paper presents a theoretical foundation for functional language implementations of Behaviour -Interaction -Priority (BIP). We introduce a set of connector combinators describing synchronisation, data transfer, pr...
详细信息
This paper presents a theoretical foundation for functional language implementations of Behaviour -Interaction -Priority (BIP). We introduce a set of connector combinators describing synchronisation, data transfer, priorities and dynamicity in a principled way. A static type system ensures the soundness of connector semantics. Based on this foundation, we implemented BIP as an embedded domain specific language (DSL) in Haskell and Scala. The DSL embedding allows programmers to benefit from the full expressive power of high-level languages. The clear separation of behaviour and coordination inherited from BIP leads to systems that are arguably simpler to maintain and reason about, compared to other approaches. (C) 2017 Elsevier Inc. All rights reserved.
Underlying many, if not all, areas of mathematics is category theory, an alternative to set theory as a foundation that formalizes mathematical structures and relations between them. These relations abstract the idea ...
详细信息
Underlying many, if not all, areas of mathematics is category theory, an alternative to set theory as a foundation that formalizes mathematical structures and relations between them. These relations abstract the idea of a function, an abstraction used throughout mathematics as well as throughout programming. However, there is a disparity between the definition of a function used in mathematics from that used in mainstream programming. For mathematicians to utilize the power of programming to advance their mathematics, there is a demand for a paradigm of programming that uses mathematical functions, as well as the mathematical categories that support them, as the basic building blocks, enabling programs to be built by clever mathematics. This paradigm is functional programming. We wish to use functional programming to represent our mathematical structures, especially those used in computational algebra.
This second installment picks up where Konrad Hinsen's article "The Promises of functional programming" from the July/August 2009 issue left off, covering static type inference and lazy evaluation in fun...
详细信息
This second installment picks up where Konrad Hinsen's article "The Promises of functional programming" from the July/August 2009 issue left off, covering static type inference and lazy evaluation in functional programming languages.
functional languages belong to a neat and very high-level programming paradigm. A functional program is a set of function definitions. The λ-Calculus, a theory of functions under recursion, offers a solid theoretic b...
详细信息
The characteristics of functional programming languages recommend them for web development. We checked that in practice, by customizing the functional programming language Wall for web development. Customizations incl...
详细信息
The characteristics of functional programming languages recommend them for web development. We checked that in practice, by customizing the functional programming language Wall for web development. Customizations include support for web document types, web data access functions, textual templates, web dialogs and extension of transactional mechanisms to web session data. Prototype implementations of Wall are developed. Our experience shows that application of Wail in the web development domain is fully justified and that web development may benefit from functional programming languages in both education and production. (C) 2010 Elsevier Ltd. All rights reserved.
暂无评论