Packages

  • package root
    Definition Classes
    root
  • package scalation
    Definition Classes
    root
  • package activity

    The activity package contains classes, traits and objects for activity-oriented simulation models (for example, Petri Nets).

    The activity package contains classes, traits and objects for activity-oriented simulation models (for example, Petri Nets).

    Definition Classes
    scalation
  • package analytics

    The analytics package contains classes, traits and objects for analytics including clustering and prediction.

    The analytics package contains classes, traits and objects for analytics including clustering and prediction.

    Definition Classes
    scalation
  • package animation

    The animation package contains classes, traits and objects for 2D animation of simulation objects.

    The animation package contains classes, traits and objects for 2D animation of simulation objects.

    Definition Classes
    scalation
  • package calculus

    The calculus package contains classes with methods for computing derivatives, gradient vectors, Jacobian matrices, integrals and basic operators in Functional Analysis.

    The calculus package contains classes with methods for computing derivatives, gradient vectors, Jacobian matrices, integrals and basic operators in Functional Analysis.

    Definition Classes
    scalation
  • package dynamics

    The dynamics package contains classes, traits and objects for system dynamics simulations using Ordinary Differential Equations (ODEs).

    The dynamics package contains classes, traits and objects for system dynamics simulations using Ordinary Differential Equations (ODEs).

    Definition Classes
    scalation
  • package dynamics_pde

    The dynamics_pde package contains classes, traits and objects for system dynamics simulations using Partial Differential Equations 'PDE's.

    The dynamics_pde package contains classes, traits and objects for system dynamics simulations using Partial Differential Equations 'PDE's.

    Definition Classes
    scalation
  • package event

    The event package contains classes, traits and objects for event oriented simulation models (for example, event scheduling or event graphs).

    The event package contains classes, traits and objects for event oriented simulation models (for example, event scheduling or event graphs).

    Definition Classes
    scalation
  • package maxima

    The maxima package contains classes, traits and objects for optimization to find maxima.

    The maxima package contains classes, traits and objects for optimization to find maxima.

    Definition Classes
    scalation
  • CheckLP
  • ConjGradient
  • ConjGradientTest
  • GoldenSectionLS
  • GoldenSectionLSTest
  • GoldenSectionLSTest2
  • Hungarian
  • HungarianTest
  • HungarianTest2
  • IntegerProg
  • IntegerProgTest
  • RevisedSimplex
  • RevisedSimplexTest
  • Simplex2P
  • Simplex2PTest
  • package minima

    The minima package contains classes, traits and objects for optimization to find minima.

    The minima package contains classes, traits and objects for optimization to find minima.

    Definition Classes
    scalation
  • package model

    The model package contains a trait giving a template for models to follow.

    The model package contains a trait giving a template for models to follow.

    Definition Classes
    scalation
  • package process

    The process package contains classes, traits and objects for process-oriented simulation models (for example, process-interaction).

    The process package contains classes, traits and objects for process-oriented simulation models (for example, process-interaction).

    Definition Classes
    scalation
  • package queueingnet

    The queueingnet package contains classes, traits and objects for solving simple queueing network problems.

    The queueingnet package contains classes, traits and objects for solving simple queueing network problems.

    Definition Classes
    scalation
  • package state

    The state package contains classes, traits and objects for state-oriented simulation models (for example, Markov Chains).

    The state package contains classes, traits and objects for state-oriented simulation models (for example, Markov Chains).

    Definition Classes
    scalation
  • package tableau

    The tableau package contains classes for tableau oriented simulation models (similar to spreadsheet simulations).

    The tableau package contains classes for tableau oriented simulation models (similar to spreadsheet simulations).

    Definition Classes
    scalation
p

scalation

maxima

package maxima

The maxima package contains classes, traits and objects for optimization to find maxima.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. maxima
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. class CheckLP extends Error

    The CheckLP class checks the solution to Linear Programming (LP) problems.

    The CheckLP class checks the solution to Linear Programming (LP) problems. Given a constraint matrix 'a', limit/RHS vector 'b' and cost vector 'c', determine if the values for the solution/decision vector 'x' maximizes the objective function 'f(x)', while satisfying all of the constraints, i.e.,

    maximize f(x) = c x subject to a x <= b, x >= 0

    Check the feasibility and optimality of the solution.

  2. class ConjGradient extends Error

    The ConjGradient implements the Polak-Ribiere Conjugate Gradient (PR-CG) Algorithm for solving Non-Linear Programming (NLP) problems.

    The ConjGradient implements the Polak-Ribiere Conjugate Gradient (PR-CG) Algorithm for solving Non-Linear Programming (NLP) problems. PR-CG determines a search direction as a weighted combination of the steepest descent direction (-gradient) and the previous direction. The weighting is set by the beta function, which for this implementation used the Polak-Ribiere technique.

    dir_k = -gradient (x) + beta * dir_k-1

    maximize f(x) subject to g(x) <= 0 [ optionally g(x) == 0 ]

  3. class GoldenSectionLS extends AnyRef

    The GoldenSectionLS class performs a line search on f(x) to find a maximal value for 'f'.

    The GoldenSectionLS class performs a line search on f(x) to find a maximal value for 'f'. It requires no derivatives and only one functional evaluation per iteration. A search is conducted from 'x1' (often 0) to 'xmax'. A guess for 'xmax' must be given, but can be made larger during the expansion phase, that occurs before the recursive golden section search is called. It works on scalar functions (see GoldenSectionLSTest). If starting with a vector function 'f(x)', simply define a new function 'g(y) = x0 + direction * y' (see GoldenSectionLSTest2).

  4. class Hungarian extends AnyRef

    The Hungarian is an O(n^3) implementation of the Hungarian algorithm (or Kuhn-Munkres algorithm). Find the maximum cost set of pairings between 'm' x-nodes (workers) and 'n' y-nodes (jobs) such that each worker is assigned to one job and each job has at most one worker assigned. It solves the maximum-weighted bipartite graph matching problem.

    The Hungarian is an O(n^3) implementation of the Hungarian algorithm (or Kuhn-Munkres algorithm). Find the maximum cost set of pairings between 'm' x-nodes (workers) and 'n' y-nodes (jobs) such that each worker is assigned to one job and each job has at most one worker assigned. It solves the maximum-weighted bipartite graph matching problem.

    maximize sum i = 0 .. m-1 { cost(x_i, y_i) }

    Caveat: only works if 'm <= n' (i.e., there is at least one job for every worker).

  5. class IntegerProg extends AnyRef

    The IntegerProg class solves Integer Linear Programming (ILP) and Mixed Integer Linear Programming (MILP) problems recursively using the Simplex algorithm.

    The IntegerProg class solves Integer Linear Programming (ILP) and Mixed Integer Linear Programming (MILP) problems recursively using the Simplex algorithm. First, an LP problem is solved. If the optimal solution vector x is entirely integer valued, the ILP is solved. If not, pick the first 'x_j' that is not integer valued. Define two new LP problems which bound 'x_j' to the integer below and above, respectively. Branch by solving each of these LP problems in turn. Prune by not exploring branches less optimal than the currently best integer solution. This technique is referred to as Branch and Bound. An exclusion set may be optionally provided for MILP problems. FIX: Use the Dual Simplex Algorithm for better performance.

    Given a constraint matrix 'a', limit/RHS vector 'b' and cost vector 'c', find values for the solution/decision vector 'x' that maximize the objective function 'f(x)', while satisfying all of the constraints, i.e.,

    maximize f(x) = c x subject to a x <= b, x >= 0, x must be a vector of integers

    Make b_i negative to indicate a ">=" constraint

  6. class RevisedSimplex extends Error

    The RevisedSimplex class solves Linear Programming (LP) problems using the Revised Simplex Algorithm.

    The RevisedSimplex class solves Linear Programming (LP) problems using the Revised Simplex Algorithm. Given a constraint matrix 'a', constant vector 'b' and cost vector 'c', find values for the solution/decision vector 'x' that maximize the objective function 'f(x)', while satisfying all of the constraints, i.e.,

    maximize f(x) = c x subject to a x <= b, x >= 0

    The revised algorithm has benefits over the Simplex Algorithm (less memory and reduced chance of round off errors).

    See also

    math.uc.edu/~halpern/Linear.progr.folder/Handouts.lp.02/Revisedsimplex.pdf

  7. class Simplex2P extends Error

    The Simplex2P class solves Linear Programming (LP) problems using a tableau based Simplex Algorithm.

    The Simplex2P class solves Linear Programming (LP) problems using a tableau based Simplex Algorithm. Given a constraint matrix 'a', limit/RHS vector 'b' and cost vector 'c', find values for the solution/decision vector 'x' that maximize the objective function 'f(x)', while satisfying all of the constraints, i.e.,

    maximize f(x) = c x subject to a x <= b, x >= 0

    In case of 'a_i x >= b_i', use '-b_i' as an indicator of a '>=' constraint. The program will flip such negative b_i back to positive as well as use a surplus and artificial variable instead of the usual slack variable, i.e., a_i x <= b_i => a_i x + s_i = b_i // use slack variable s_i with coefficient 1 a_i x >= b_i => a_i x + s_i = b_i // use surplus variable s_i with coefficient -1 For each ">=" constraint, an artificial variable is introduced and put into the initial basis. These artificial variables must be removed from the basis during Phase I of the Two-Phase Simplex Algorithm. After this, or if there are no artificial variables, Phase II is used to find an optimal value for 'x' and the optimum value for 'f'.

    Creates an MM-by-nn simplex tableau with -- [0..M-1, 0..N-1] = a (constraint matrix) -- [0..M-1, N..M+N-1] = s (slack/surplus variable matrix) -- [0..M-1, M+N..nn-2] = r (artificial variable matrix) -- [0..M-1, nn-1] = b (limit/RHS vector) -- [M, 0..nn-2] = c (cost vector)

Value Members

  1. object ConjGradientTest extends App

    The ConjGradientTest object is used to test the ConjGradient class.

  2. object GoldenSectionLSTest extends App

    The GoldenSectionLSTest object is used to test the GoldenSectionLS class on scalar functions.

  3. object GoldenSectionLSTest2 extends App

    The GoldenSectionLSTest2 object is used to test the GoldenSectionLS class on vector functions.

  4. object Hungarian

    The Hungarian companion object supplies factory methods to create a cost matrix and build a Hungarian object suitable to solving an assignment problem.

  5. object HungarianTest extends App

    The HungarianTest object is used to test the Hungarian class.

    The HungarianTest object is used to test the Hungarian class. > runMain scalation.maxima.HungarianTest

  6. object HungarianTest2 extends App

    The HungarianTest2 object is used to test the Hungarian class.

    The HungarianTest2 object is used to test the Hungarian class. > runMain scalation.maxima.HungarianTest2

  7. object IntegerProgTest extends App

    The IntegerProgTest object is used to test the IntegerProg class.

    The IntegerProgTest object is used to test the IntegerProg class. real solution x = (2.25, 3.75), f = 41.25 integer solution x = (0, 5), f = 40

    See also

    web.mit.edu/15.053/www/AMP-Chapter-09.pdf

  8. object RevisedSimplexTest extends App

    The RevisedSimplexTest tests the Revised Simplex Algorithm class with the following maximization problem: Maximize z = 2x_0 + 3x_1 + 4x_2 Subject to 3x_0 + 2x_1 + 1x_2 + 1y_3 + 0y_4 = 10 2x_0 + 5x_1 + 3x_2 + 0y_3 + 1y_4 = 15 where z is the objective variable, x are the decision variables and y are slack variables.

  9. object Simplex2PTest extends App

    The Simplex2PTest object is used to test the Simplex2P class.

Inherited from AnyRef

Inherited from Any

Ungrouped