# Copyright (c) 1997-2004 # Ewgenij Gawrilow, Michael Joswig (Technische Universitaet Berlin, Germany) # http://www.math.tu-berlin.de/polymake, mailto:polymake@math.tu-berlin.de # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation; either version 2, or (at your option) any # later version: http://www.gnu.org/licenses/gpl.txt. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. #----------------------------------------------------------------------------- # $Project: polymake $$Id: lp_properties.rules 7371 2006-05-24 10:14:08Z sherrmann $ object Polytope; # category: Optimization # Linear objective function. # property LINEAR_OBJECTIVE $type="vector"; # category: Optimization # Abstract objective function. Defines a direction for each edge such that each non-empty # face has a unique source and a unique sink. # The `i`-th element is the value of the objective function at vertex number `i`. # Only defined for bounded polytopes. property ABSTRACT_OBJECTIVE $type="vector"; $apply_diff{VERTICES}=\&permute_elements; # category: Optimization # Indices of vertices at which the maximum of the objective function is attained. property MAXIMAL_FACE $type="set"; $apply_diff{VERTICES}=\&permute_cols; # category: Optimization # Similar to @see MAXIMAL_FACE. property MINIMAL_FACE $type="set"; $apply_diff{VERTICES}=\&permute_cols; # category: Optimization # Coordinates of a (possible not unique) vertex at which the maximum of the objective function is attained. property MAXIMAL_VERTEX $type="vector"; # category: Optimization # Similar to @see MAXIMAL_VERTEX. property MINIMAL_VERTEX $type="vector"; # category: Optimization # Maximum value of the objective function. Negated if linear problem is unbounded. property MAXIMAL_VALUE $type="scalar"; # category: Optimization # Similar to @see MAXIMAL_VALUE. property MINIMAL_VALUE $type="scalar"; # category: Optimization # Subgraph of @see GRAPH. Consists only of directed arcs along which the value of the objective function increases. property DIRECTED_GRAPH $type="graph"; $apply_diff{VERTICES}=\&permute_rows_cols; # category: Optimization # Number of outgoing arcs for each vertex in @see DIRECTED_GRAPH. property VERTEX_OUT_DEGREES $type="array"; $apply_diff{VERTICES}=\&permute_elements; # category: Optimization # Number of incoming arcs for each vertex in @see DIRECTED_GRAPH. property VERTEX_IN_DEGREES $type="array"; $apply_diff{VERTICES}=\&permute_elements; # category: Optimization # Approximate color encoding of objective function values. # For each vertex, the color is chosen by linear interpolation in HSV system # between fixed "maximal" and "minimal" colors, with the same ratio as the objective # function value has in relation to the global maximum and mininum on the entire polytope. property VERTEX_COLORS $type="array"; $apply_diff{VERTICES}=\&permute_rows; # category: Optimization # Expected average path length for a simplex algorithm employing "random edge" pivoting strategy. property RANDOM_EDGE_EPL $type="vector"; # category: Optimization # You can give a list of variable names here # (this amounts to naming the columns of the coordinate vectors for @see VERTICES). # This is of not much use for polymake. But this information will be # used by programs which convert polymake format to other formats (such as LP). property VARIABLE_NAMES $type="array