Wiki Markup |
---|
h1. Test |
...
Open eclipse and select your workspace. If you start out with a blue screen with some circular buttons saying Welcome, Tutorial, etc., click Go to Workbench. Otherwise, you are already at the workbench. Go to File -> New -> Java Project. Name your project sandbox
, then click the button Finish
. You now have a new project!
In the Package Explorer (left side) right click the arrow next to sandbox
to expand the project. Right click on the src
folder and then go to new -> class
. Name the class TestClass
. Under "Which method stubs would you like to create?" check the box next to public static void main(String[] args)
. Hit the "Finish" button. Then replace
Code Block |
---|
Eclipse
{rarr}
{rrar}
Open eclipse and select your workspace. If you start out with a blue screen with some circular buttons saying _Welcome_, _Tutorial_, etc., click _Go to Workbench_. Otherwise, you are already at the workbench. Go to _File -> New -> Java Project_. Name your project {{sandbox}}, then click the button {{Finish}}. You now have a new project!
In the Package Explorer (left side) right click the arrow next to {{sandbox}} to expand the project. Right click on the {{src}} folder and then go to {{new -> class}}. Name the class {{TestClass}}. Under "Which method stubs would you like to create?" check the box next to {{public static void main(String[] args)}}. Hit the "Finish" button. Then replace
{code}// TODO Auto-generated method stub |
by
Code Block |
---|
{code} by {code}System.out.println("Hello World!"){code} Save the file {{TestClass.java}} by hitting _Ctrl+s_ or the save button (top left on the menu bar). To run your code, go to the top center of the menu bar and hit the run icon (its a green circle with a white arrow inside), or go to the menu bar and hit {{Run->Run}}. The _Console_ should pop up on the bottom with the output of your program. |
...
Test Cplex from Eclipse
Open Eclipse and expand the sandbox
project we created previously. Create a new class called KnapsackSolver
. Next we are going to connect to Cplex. Right click on sandbox
in the package explorer and select new->folder
. Give it the name lib
and click "Finish." Find the file cplex.jar in your Cplex installation. On my installation, it was located at
...
h1. Test Cplex from Eclipse Open Eclipse and expand the {{sandbox}} project we created previously. Create a new class called {{KnapsackSolver}}. Next we are going to connect to Cplex. Right click on {{sandbox}} in the package explorer and select {{new->folder}}. Give it the name {{lib}} and click "Finish." Find the file cplex.jar in your Cplex installation. On my installation, it was located at {{C:\Program Files\IBM\ILOG\CPLEX_Studio125\cplex\lib\cplex.jar |
...
}} Copy the file cplex.jar and paste it in the newly created {{lib}} folder in our project. Right click on {{sandbox}} in the package explorer, then select {{Build Path -> Configure Build Path...}}. Select the "Libraries" tab, then hit the "Add JARs" button (see [here|http://stackoverflow.com/questions/8486403/eclipse-ide-add-jar-add-external-jar-add-library] for an explanation of what all these buttons do). Select the file {{sandbox/lib/cplex.jar}}, then hit OK until we have exited all the menus. |
...
Open up {{KnapsackSolver}} and replace the text of the file with the following: |
...
{code |
}
import java.util.Arrays;
import ilog.concert.IloException;
import ilog.concert.IloIntVar;
import ilog.cplex.IloCplex;
public class KnapsackSolver {
public static double[] solveKnapsack(double[] values, double[] weights, double capacity){
if(weights.length != values.length){
throw new RuntimeException("values.length was " + values.length
+ " and weights.length was" + weights.length
+ " but they must be the same");
}
try {
IloCplex cplex = new IloCplex();
IloIntVar[] x = cplex.boolVarArray(values.length);
cplex.addLe(cplex.scalProd(x, weights), capacity);
cplex.addMaximize(cplex.scalProd(x, values));
cplex.solve();
return cplex.getValues(x);
} catch (IloException e) {
throw new RuntimeException();
}
}
public static void main(String[] args){
double[] values = new double[]{2,4,5,6};
double[] weights= new double[]{2,3,4,7};
double capacity = 8;
double[] solution = solveKnapsack(values,weights,capacity);
System.out.println(Arrays.toString(solution));
}
}
|
...
{code} Run the code. The final line of output should of course be {{\[0.0, 1.0, 1.0, 0.0\]}}, up to some precision. |