| Math-LP documentation | Contained in the Math-LP distribution. |
Math::LP::Variable - variables used in linear programs
use Math::LP::Variable;
# make a variable named x1
my $x1 = new Math::LP::Variable(name => 'x1');
# make an integer variable named x2
my $x2 = new Math::LP::Variable(name => 'x2', is_int => 1);
# make a variable named x3 initialized to 3.1415
my $x3 = new Math::LP::Variable(name => 'x3', value => '3.1415');
a string with the name of the variable (required)
a flag indicating whether the variable can only have integer values (optional, defaults to false)
a number representing the value of the variable (optional)
an upper bound to the value, defaults to 1E24
a lower bound to the value, defaults to 0
an integer number holding the index of the variable in the matrix of the LP the variable is used in (optional)
Math::LP::Variable inherits all methods from Math::SimpleVariable, without adding any new methods.
More info on the base class is found in Math::SimpleVariable. The usage of Math::LP::Variables in linear programs is illustrated in Math::LP.
Wim Verhaegen <wimv@cpan.org>
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.
| Math-LP documentation | Contained in the Math-LP distribution. |
package Math::LP::Variable; use strict; #use Math::LP::Object; use Math::SimpleVariable; use base qw(Math::SimpleVariable); use fields( 'is_int', # flags whether it is an integer variable, defaults to false 'upper_bound', # defaults to +infinity 'lower_bound', # defaults to 0, as is the convention in linear programming 'col_index', # column index in an LP, used by the Math::LP functions ); sub initialize { my Math::LP::Variable $this = shift; $this->{is_int} ||= 0; $this->{upper_bound} = $Math::LP::Solve::DEF_INFINITE unless defined($this->{upper_bound}); $this->{lower_bound} = 0 unless defined($this->{lower_bound}); $this->SUPER::initialize(); } 1; __END__