All Downloads are FREE. Search and download functionalities are using the official Maven repository.

it.ssc.pl.milp.Constraint Maven / Gradle / Ivy

Go to download

This is a JSR331 interface for SSC (Software for the Calculation of the Simplex) is a java library for solving linear programming problems v. 3.0.1. SSC was designed and developed by Stefano Scarioli.

The newest version!
package it.ssc.pl.milp;

import it.ssc.i18n.RB;

/**
 * Questa classe permette di costruire oggetti ognuno dei quali rappresenta un vincolo per  
 * un problema di LP espresso nella notazione matriciale
 * 
 * @author Stefano Scarioli 
 * @version 1.0
 * @see SSC Software www.sscLab.org
 */



public final class Constraint {
	private double[] Aj;
	private ConsType rel;
	private double bi;
	
	/**
	 * 
	 * @param Aj La parte LHS del j-esimo vincolo del problema
	 * @param rel Il tipo  di vincolo/relazione (EQ,LE,GE,UPPER,LOWER,INT,BIN,SEMICONT)
	 * @param rhs La parte RHS del vincolo o coefficiente bj 
	 * @throws SimplexException Se il vincolo non è congruente 
	 */
	
	public Constraint(double[] Aj, ConsType rel, double rhs) throws SimplexException {
		if(Aj==null) throw new SimplexException(RB.getString("it.ssc.pl.milp.Constraint.msg1"));
		this.Aj=Aj;
		if(rel==null) throw new SimplexException(RB.getString("it.ssc.pl.milp.Constraint.msg2"));
		this.rel=rel;
		this.bi=rhs;
	}
	
	/**
	 * 
	 * @return La parte LHS del j-esimo vincolo del problema
	 */

	public double[] getAj() {
		return Aj;
	}
	/**
	 * 
	 * @return Il tipo  di vincolo (relazione) definito (EQ,LE,GE)
	 */

	public ConsType getRel() {
		return rel;
	}
	/**
	 * 
	 * @return La parte RHS del vincolo o coefficiente bj 
	 */

	public double getRhs() {
		return bi;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy