Wim Verhaegen > Math-LP > Math::LP::LinearCombination

Download:
Math-LP-0.03.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  0
View/Report Bugs
Source  

NAME ^

Math::LP::LinearCombination - linear combination of Math::LP::Variable objects

SYNOPSIS ^

    use Math::LP::LinearCombination;

    # first construct some variables
    $x1 = new Math::LP::Variable(name => 'x1');
    $x2 = new Math::LP::Variable(name => 'x2');

    # build x1 + 2 x2 from an empty linear combination
    $lc1 = new Math::LP::LinearCombination;
    $lc1->add_entry(var => $x1, coeff => 1.0);
    $lc1->add_entry(var => $x2, coeff => 2.0);

    # alternatively, make x1 + 2 x2 in one go
    $lc2 = make Math::LP::LinearCombination($x1, 1.0,
                                            $x2, 2.0 );

DESCRIPTION ^

Any client should not access any other field than the value field. This field contains the value of the linear combination, typically obtained in calculate_value(), but it may be set elsewhere (e.g. by the solve() function in Math::LP).

The following methods are available:

new()

returns a new, empty linear combination

make($var1,$coeff1,$var2,$coeff2,...)

returns a new linear combination initialized with the given variables and coefficients. A ref to an array of variables and coefficients is also accepted as a legal argument.

add_entry(var => $var, coeff => $coeff)

adds a variable to the linear combination with the given coefficient

evaluate()

calculates the value of the linear combination. The value is also stored in the value field. Requires that the values of all variables are defined.

SEE ALSO ^

The base class of Math::LP::LinearCombination is documented in Math::LinearCombination

The usage of variables is documented in Math::LP::Variable and Math::LP::SimpleVariable

The interaction with other classes for solving linear programs is described in Math::LP

AUTHOR ^

Wim Verhaegen <wimv@cpan.org>

COPYRIGHT ^

Copyright(c) 2000-2001 Wim Verhaegen. All rights reserved. This program is free software; you can redistribute and/or modify it under the same terms as Perl itself.

syntax highlighting: