⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modelvariables.java

📁 今天为网友提供的是JAVA源码
💻 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 + -