2,686 research outputs found

    An algebraic approach to Integer Portfolio problems

    Get PDF
    Integer variables allow the treatment of some portfolio optimization problems in a more realistic way and introduce the possibility of adding some natural features to the model. We propose an algebraic approach to maximize the expected return under a given admissible level of risk measured by the covariance matrix. To reach an optimal portfolio it is an essential ingredient the computation of different test sets (via Gr\"obner basis) of linear subproblems that are used in a dual search strategy.Universidad de Sevilla P06-FQM-01366Junta de Andalucía (Plan Andaluz de Investigación) FQM-333Ministerio de Ciencia e Innovación (España) MTM2007-64509Instituto de Matemáticas de la Universidad de Sevilla MTM2007-67433-C02-0

    A principled approach to programming with nested types in Haskell

    Get PDF
    Initial algebra semantics is one of the cornerstones of the theory of modern functional programming languages. For each inductive data type, it provides a Church encoding for that type, a build combinator which constructs data of that type, a fold combinator which encapsulates structured recursion over data of that type, and a fold/build rule which optimises modular programs by eliminating from them data constructed using the buildcombinator, and immediately consumed using the foldcombinator, for that type. It has long been thought that initial algebra semantics is not expressive enough to provide a similar foundation for programming with nested types in Haskell. Specifically, the standard folds derived from initial algebra semantics have been considered too weak to capture commonly occurring patterns of recursion over data of nested types in Haskell, and no build combinators or fold/build rules have until now been defined for nested types. This paper shows that standard folds are, in fact, sufficiently expressive for programming with nested types in Haskell. It also defines buildcombinators and fold/build fusion rules for nested types. It thus shows how initial algebra semantics provides a principled, expressive, and elegant foundation for programming with nested types in Haskell

    There and Back Again

    Get PDF
    We present a programming pattern where a recursive function defined over a data structure traverses another data structure at return time. The idea is that the recursive calls get us `there' by traversing the first data structure and the returns get us `back again' while traversing the second data structure. We name this programming pattern of traversing a data structure at call time and another data structure at return time ``There And Back Again'' (TABA). The TABA pattern directly applies to computing symbolic convolutions and to multiplying polynomials. It also blends well with other programming patterns such as dynamic programming and traversing a list at double speed. We illustrate TABA and dynamic programming with Catalan numbers. We illustrate TABA and traversing a list at double speed with palindromes and we obtain a novel solution to this traditional exercise. Finally, through a variety of tree traversals, we show how to apply TABA to other data structures than lists. A TABA-based function written in direct style makes full use of an ALGOL-like control stack and needs no heap allocation. Conversely, in a TABA-based function written in continuation-passing style and recursively defined over a data structure (traversed at call time), the continuation acts as an iterator over a second data structure (traversed at return time). In general, the TABA pattern saves one from accumulating intermediate data structures at call time

    Combinatorial Optimization

    Get PDF
    This report summarizes the meeting on Combinatorial Optimization where new and promising developments in the field were discussed. Th

    Discrete Midpoint Convexity

    Full text link
    For a function defined on a convex set in a Euclidean space, midpoint convexity is the property requiring that the value of the function at the midpoint of any line segment is not greater than the average of its values at the endpoints of the line segment. Midpoint convexity is a well-known characterization of ordinary convexity under very mild assumptions. For a function defined on the integer lattice, we consider the analogous notion of discrete midpoint convexity, a discrete version of midpoint convexity where the value of the function at the (possibly noninteger) midpoint is replaced by the average of the function values at the integer round-up and round-down of the midpoint. It is known that discrete midpoint convexity on all line segments with integer endpoints characterizes L^{\natural}-convexity, and that it characterizes submodularity if we restrict the endpoints of the line segments to be at \ell_\infty-distance one. By considering discrete midpoint convexity for all pairs at \ell_\infty-distance equal to two or not smaller than two, we identify new classes of discrete convex functions, called local and global discrete midpoint convex functions, which are strictly between the classes of L^{\natural}-convex and integrally convex functions, and are shown to be stable under scaling and addition. Furthermore, a proximity theorem, with the same small proximity bound as that for L^{\natural}-convex functions, is established for discrete midpoint convex functions. Relevant examples of classes of local and global discrete midpoint convex functions are provided.Comment: 39 pages, 6 figures, to appear in Mathematics of Operations Researc
    corecore