📄 modelvariables.java
字号:
package com.power.lpsolver.LPSolve;
import java.util.*;
/**
*
* <p>Title: PIPE Engine</p>
* <p>Description: Global Planning Optimization Engine</p>
* <p>Copyright: Copyright (c) 2002</p>
* <p>Company: Paraster, Inc.</p>
* @author Wei Tan
* @version 1.0
*/
/**
* ModelVariables is the place holder that anchors all variables. It also provides
* methods for inter-variable related operations.
*/
public class ModelVariables
{
/**
* stores all variables hashed by name.
*/
private Hashtable _varByName = new Hashtable();
/**
* stores all variables hashed by its index.
*/
private Hashtable _varByIdx = new Hashtable();
/**
* Sole class constructor.
*/
public ModelVariables() {
}
/**
* Adds a variable to the model.
* @param var the variable object to be added.
*/
public void addVariable( Variable var ) {
_varByName.put( var.getVarName(), var );
_varByIdx.put( new Integer( var.getVarIdx() ).toString(), var );
}
/**
* Gets variable Hashtable hashed by names.
* @return the variable Hashtable: _varByName.
*/
public Hashtable getVariablesByName() {
return _varByName;
}
/**
* Adds a variable using a symbolic name, creates its column index as
* well.
* @param name the name of the variable to be added.
* @return the variable index.
*/
public int addVariable( String name ) {
int size = _varByName.size();
if( null == _varByName.get( name ) ) {
Variable var = new Variable( name, size );
_varByName.put( name, var );
_varByIdx.put( new Integer( size ).toString(), var );
}
if( (size % 1000) == 0 ) {
//System.out.println( "Number of variables: " + size );
}
return ( (Variable) _varByName.get( name ) ).getVarIdx();
}
/**
* Gets variable by name.
* @param name the name passed in.
* @return the variable object corresponding to the name.
*/
public Variable getVariable( String name ) {
return (Variable) _varByName.get( name );
}
/**
* Gets variable object by its index.
* @param idx the index of the variable to get.
* @return the variable object corresponding to the idx.
*/
public Variable getVariable( int idx ) {
return (Variable) _varByIdx.get( new Integer( idx ).toString() );
}
/**
* Gets the size of the variables (number of variables.
* @return the size of the variables Hashtable.
*/
public int getCardinality() {
return _varByName.size();
}
/**
* Prints all variables in the form [index, symbolic name].
*/
public void print() {
Enumeration allVars = _varByIdx.elements();
while( allVars.hasMoreElements() ) {
Variable var = (Variable) allVars.nextElement();
System.out.print( "[" + var.getVarIdx() + ", " + var.getVarName() + "] ");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -