/******************************************************** Xpress-BCL C# Example Problems ============================== file xbexpl1i.cs ```````````````` BCL user guide example. Version using index sets. (c) 2008 Fair Isaac Corporation authors: S.Heipcke, D.Brett. ********************************************************/ using System; using System.Text; using System.IO; using BCL; namespace Examples { public class TestUGExpl1i { const int MAXNJ = 4; /* Max. number of jobs */ const int NT = 10; /* Time limit */ //Define XPRBDATAPATH to whatever folder you wish. const string XPRBDATAPATH = "../../data"; const string DATAFILE = XPRBDATAPATH + "/jobs/durations.dat"; /**** DATA ****/ int NJ = 0; /* Number of jobs read in */ double[] DUR = new double[MAXNJ]; /* Durations of jobs */ XPRBindexSet Jobs; /* Job names */ XPRBvar[] start; /* Start times of jobs */ XPRBvar[,] delta; /* Binaries for start times */ XPRBvar z; /* Maximum completion time (makespan) */ XPRBprob p = new XPRBprob("Jobs"); /* Initialize BCL and a new problem */ /*************************************************************************/ void readData() { string name; FileStream file; StreamReader fileStreamIn; /* Create a new index set */ Jobs = p.newIndexSet("jobs", MAXNJ); file = new FileStream(DATAFILE, FileMode.Open, FileAccess.Read); fileStreamIn = new StreamReader(file); object[] tempobj = new object[2]; while((NJ