/******************************************************** Xpress-BCL Java Example Problems ================================ file xbdlvriis.java ``````````````````` Transportation problem (infeasible data). Retrieving and printing IIS. (c) 2008 Fair Isaac Corporation author: S.Heipcke, 2005, rev. Mar. 2011 ********************************************************/ import java.io.*; import java.util.*; import com.dashoptimization.*; public class xbdlvriis { static final int NSupp = 10; /* Number of suppliers */ static final int NCust = 7; /* Number of customers */ static final int MaxArcs = 100; /* Max. num. of non-zero cost values */ static final String VANFILE = System.getProperty("XPRBDATA") + "/delivery/ifvan.dat"; static final String COSTFILE = System.getProperty("XPRBDATA") + "/delivery/cost.dat"; /****DATA****/ /* Supplier: London Luton B'ham Bristl Derby Stckpt */ static final double SUPPLY[] = {140.0, 200.0, 50.0, 10.0, 400.0, 200.0, /* Supplier: York Derby Soton Scnthp */ 20.0, 90.0, 30.0, 12}; /* Customer: London Livpol Doncst York Hull Manchr */ static final double DEMAND[] = {1230.3, 560.4, 117.1, 592.8, 310.0, 1247.0, /* Customer: Shffld */ 86}; static double[][] COST; /* Cost per supplier-customer pair */ static double[][] IFVAN; /* Non-zero if route uses vans instead of lorries */ static final double VANCAP=40; /* Capacity on routes that use vans */ static XPRB bcl; static XPRBprob p; /***********************************************************************/ static void modDelivery() { XPRBexpr lobj, lc; int s,c,i; XPRBvar[][] x; ArrayList iisctr,iisvar; int numv, numc, numiis, ct; bcl = new XPRB(); /* Initialize BCL */ p = bcl.newProb("Delivery"); /* Create a new problem in BCL */ /****VARIABLES****/ x = new XPRBvar[NSupp][NCust]; for(s=0;s0) { /* Print all variables in the IIS */ System.out.print(" Variables: "); for(i=0;i0) { /* Print all constraints in the IIS */ System.out.print(" Constraints: "); for(i=0;i0) { if(ct>0) System.out.println("IIS " + ct + ": " + numv + " variables, " + numc + " constraints"); ct++; p.getIIS(iisvar, iisctr, ct); numv = iisvar.size(); numc = iisctr.size(); } /* Retrieve variables only */ System.out.println("Variables"); for(s=1;s<=numiis;s++) { p.getIIS(iisvar, null, s); numv = iisvar.size(); System.out.print(" IIS " + s + ": " + numv + " variables ( " ); for(i=0;i