質問編集履歴

4 誤字

hanatarekozoman

hanatarekozoman score 14

2018/11/09 00:23  投稿

Eclipseで実行すると「メインクラスが見つからない」とエラーが出ます
Eclipseで、Cplexを使ったコードを書き実行すると
「エラー:メインクラス〇〇が見つからないかロードできませんでした」
と表示されました。
調べてみると、実行構成のVM引数にCplexファイルの場所を入力しなければいけないと書かれているサイトがありました。しかし、入力して実行してみると文字化け(?)を含んだエラーが表示されました。
Cplexファイルの場所を入力し間違えたのかと何度もやってみましたが同じ結果です。
解決方法をご存知の方、教えて頂けませんか?
追記
```ここに言語を入力
package numberlink;
import ilog.concert.IloException;
import ilog.concert.IloIntVar;
import ilog.concert.IloLinearNumExpr;
import ilog.cplex.IloCplex;
public class numberlink1 {
   public static void main(String[] args) {
     try {
   IloCplex numberlink = new IloCplex();
   int row=4;         
   int column=4;       
    IloIntVar s[][] = new IloIntVar[row][column];
   for(int i=1;i<=row-1;i++) {
       for(int j=1;j<=column;j++) {
   s[i][j] = numberlink.boolVar();
       }
   }
   IloIntVar e[][] = new IloIntVar[row][column];
   for(int i=1;i<=row;i++) {
       for(int j=1;j<=column-1;j++) {
    e[i][j] = numberlink.boolVar();
       }
   }
   IloLinearNumExpr NumberMath = numberlink.linearNumExpr();
   IloIntVar[][] x = new IloIntVar[row][column];
   for(int i=1;i<=row;i++) {
       for(int j=1;j<=column;j++) {
   NumberMath.addTerm(1, x[i][j]);
   numberlink.addLe(NumberMath,3);   
   numberlink.addGe(NumberMath, 1);   
       }
   }
   IloLinearNumExpr NumberMath1_a = numberlink.linearNumExpr();
   NumberMath1_a.addTerm(1,x[1][1]);
   numberlink.addEq(NumberMath1_a,1);
   IloLinearNumExpr NumberMath1_b = numberlink.linearNumExpr();
   NumberMath1_b.addTerm(1,x[2][3]);
   numberlink.addEq(NumberMath1_b,1);
   
   IloLinearNumExpr NumberMath2_a = numberlink.linearNumExpr();
   NumberMath2_a.addTerm(1,x[1][4]);
   numberlink.addEq(NumberMath2_a,2);
   IloLinearNumExpr NumberMath2_b = numberlink.linearNumExpr();
   NumberMath2_b.addTerm(1,x[3][2]);
   numberlink.addEq(NumberMath2_b,2);
   
   IloLinearNumExpr NumberMath3_a = numberlink.linearNumExpr();
   NumberMath3_a.addTerm(1,x[2][2]);
   numberlink.addEq(NumberMath3_a,3);
   IloLinearNumExpr NumberMath3_b = numberlink.linearNumExpr();
   NumberMath3_b.addTerm(1,x[4][4]);
   numberlink.addEq(NumberMath3_b,3);
   IloLinearNumExpr MathLine = numberlink.linearNumExpr();
   for(int i=1;i<=row;i++) {
       for(int j=1;j<=column;j++) {
      MathLine.addTerm(1, s[i-1][j]);
      MathLine.addTerm(1, s[i][j]);
      MathLine.addTerm(1, e[i][j-1]);
      MathLine.addTerm(1, e[i][j]);
      if(i-1==0) {
      MathLine.addTerm(-1, s[i-1][j]);
      }
      if(i==4) {
      MathLine.addTerm(-1, s[i][j]);
      }
      if(j-1==0) {
      MathLine.addTerm(-1, e[i][j-1]);
      }
      if(j==4) {
      MathLine.addTerm(-1, e[i][j]);
      }
      if((i==1&&j==1)||(i==1&&j==4)||(i==2&&j==2)||(i==2&&j==3)||
              (i==3&&j==2)||i==4&&j==4) {
      numberlink.addEq(MathLine, 1);
      }
      else {numberlink.addGe(MathLine, 2);
      numberlink.addLe(MathLine, 0);}
       }
   }
   IloLinearNumExpr IfsEq1_1 = numberlink.linearNumExpr();
   IloLinearNumExpr IfsEq1_2 = numberlink.linearNumExpr();
   for(int i=1;i<=row-1;i++) {
       for(int j=1;j<=column;j++) {
   IfsEq1_1.addTerm(3,s[i][j]);
   IfsEq1_1.addTerm(-1,x[i][j]);
   IfsEq1_1.addTerm(1,x[i+1][j]);
   numberlink.addLe(IfsEq1_1,3);
   IfsEq1_2.addTerm(3,s[i][j]);
   IfsEq1_2.addTerm(1,x[i][j]);
   IfsEq1_2.addTerm(-1,x[i+1][j]);
   numberlink.addLe(IfsEq1_1,3);
       }
   }
   IloLinearNumExpr IfeEq1_1 = numberlink.linearNumExpr();
   IloLinearNumExpr IfeEq1_2 = numberlink.linearNumExpr();
   for(int i=1;i<=row;i++) {
       for(int j=1;j<=column-1;j++) {
   IfeEq1_1.addTerm(3,e[i][j]);
   IfeEq1_1.addTerm(-1,x[i][j]);
   IfeEq1_1.addTerm(1,x[i+1][j]);
   numberlink.addLe(IfeEq1_1,3);
   IfeEq1_2.addTerm(3,e[i][j]);
   IfeEq1_2.addTerm(1,x[i][j]);
   IfeEq1_2.addTerm(-1,x[i+1][j]);
   numberlink.addLe(IfeEq1_1,3);
       }
   }
   IloLinearNumExpr AllLine = numberlink.linearNumExpr();
   for(int i=1;i<=row;i++) {
   for(int j=1;j<=column-1;j++) {
   AllLine.addTerm(1,e[i][j]);
    }
   }
   for(int i=1;i<=row-1;i++) {
   for(int j=1;j<=column;j++) {
   AllLine.addTerm(1,s[i][j]);
    }
   }
   numberlink.addMinimize(AllLine);
   if(numberlink.solve()) {
   System.out.println("目的関数値は"+numberlink.getObjValue());
   for(int i=1;i<=row;i++) {
       for(int j=1;j<=column;j++) {
   System.out.println(s[i][j]+"="+numberlink.getValue(s[i][j]));
   System.out.println(e[i][j]+"="+numberlink.getValue(e[i][j]));
   System.out.println(x[i][j]+"="+numberlink.getValue(x[i][j]));
       }
   }
   }
     }
     catch(IloException e) {
     }
   }
```
実行構成のVM引数にCPLEXファイルの場所を入力した後実行すると
�G���[: ���C���E�N���X〇〇〇\Documents\IBM\ILOG\CPLEX_Studio127�����‚���Ȃ����������[�h�ł��܂���ł���
というエラーが出ます。(〇〇〇にはユーザ名が入ります。)
よろしくお願いします。
追記2
以下のようなコードを入力し実行すると、エラーも出ず解が出力されました。
Cplexファイルの場所を実行構成に入力せずに実行し成功したので、元のコードのエラーの原因はコード内にあるのでしょうか...?
```ここに言語を入力
package testtt;
import ilog.concert.IloException;
import ilog.concert.IloLinearNumExpr;
import ilog.concert.IloNumVar;
import ilog.cplex.IloCplex;
public class test1{
 static public void main(String[] args) {
   try {
     IloCplex cplex = new IloCplex();
     // create model and solve it
     IloNumVar x = cplex.numVar(0, Double.MAX_VALUE, "x");
     IloNumVar y = cplex.numVar(0, Double.MAX_VALUE, "y");
     IloLinearNumExpr objective = cplex.linearNumExpr();
     objective.addTerm(0.12, x);
     objective.addTerm(0.15, y);
     cplex.addMinimize(objective);
     cplex.addGe(cplex.sum(cplex.prod(60, x), cplex.prod(60, y)), 300);
     cplex.addGe(cplex.sum(cplex.prod(12, x), cplex.prod(6, y)), 36);
     cplex.addGe(cplex.sum(cplex.prod(10, x), cplex.prod(30, y)), 90);
     if (cplex.solve()) {
       System.out.println("obj = " + cplex.getObjValue());
       System.out.println("x = " + cplex.getValue(x));
       System.out.println("y = " + cplex.getValue(y));
     } else {
       System.out.println("Can not solve");
     }
   } catch (IloException e) {
     System.err.println("Concert exception caught: " + e);
   }
 }
}
```
  • Java

    22607 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Eclipse

    2862 questions

    Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

3 別のコードで試した結果

hanatarekozoman

hanatarekozoman score 14

2018/11/08 01:17  投稿

Eclipseで実行すると「メインクラスが見つからない」とエラーが出ます
Eclipseで、Cplexを使ったコードを書き実行すると
「エラー:メインクラス〇〇が見つからないかロードできませんでした」
と表示されました。
調べてみると、実行構成のVM引数にCplexファイルの場所を入力しなければいけないと書かれているサイトがありました。しかし、入力して実行してみると文字化け(?)を含んだエラーが表示されました。
Cplexファイルの場所を入力し間違えたのかと何度もやってみましたが同じ結果です。
解決方法をご存知の方、教えて頂けませんか?
追記
```ここに言語を入力
package numberlink;
import ilog.concert.IloException;
import ilog.concert.IloIntVar;
import ilog.concert.IloLinearNumExpr;
import ilog.cplex.IloCplex;
public class numberlink1 {
   public static void main(String[] args) {
     try {
   IloCplex numberlink = new IloCplex();
   int row=4;         
   int column=4;       
    IloIntVar s[][] = new IloIntVar[row][column];
   for(int i=1;i<=row-1;i++) {
       for(int j=1;j<=column;j++) {
   s[i][j] = numberlink.boolVar();
       }
   }
   IloIntVar e[][] = new IloIntVar[row][column];
   for(int i=1;i<=row;i++) {
       for(int j=1;j<=column-1;j++) {
    e[i][j] = numberlink.boolVar();
       }
   }
   IloLinearNumExpr NumberMath = numberlink.linearNumExpr();
   IloIntVar[][] x = new IloIntVar[row][column];
   for(int i=1;i<=row;i++) {
       for(int j=1;j<=column;j++) {
   NumberMath.addTerm(1, x[i][j]);
   numberlink.addLe(NumberMath,3);   
   numberlink.addGe(NumberMath, 1);   
       }
   }
   IloLinearNumExpr NumberMath1_a = numberlink.linearNumExpr();
   NumberMath1_a.addTerm(1,x[1][1]);
   numberlink.addEq(NumberMath1_a,1);
   IloLinearNumExpr NumberMath1_b = numberlink.linearNumExpr();
   NumberMath1_b.addTerm(1,x[2][3]);
   numberlink.addEq(NumberMath1_b,1);
   
   IloLinearNumExpr NumberMath2_a = numberlink.linearNumExpr();
   NumberMath2_a.addTerm(1,x[1][4]);
   numberlink.addEq(NumberMath2_a,2);
   IloLinearNumExpr NumberMath2_b = numberlink.linearNumExpr();
   NumberMath2_b.addTerm(1,x[3][2]);
   numberlink.addEq(NumberMath2_b,2);
   
   IloLinearNumExpr NumberMath3_a = numberlink.linearNumExpr();
   NumberMath3_a.addTerm(1,x[2][2]);
   numberlink.addEq(NumberMath3_a,3);
   IloLinearNumExpr NumberMath3_b = numberlink.linearNumExpr();
   NumberMath3_b.addTerm(1,x[4][4]);
   numberlink.addEq(NumberMath3_b,3);
   IloLinearNumExpr MathLine = numberlink.linearNumExpr();
   for(int i=1;i<=row;i++) {
       for(int j=1;j<=column;j++) {
      MathLine.addTerm(1, s[i-1][j]);
      MathLine.addTerm(1, s[i][j]);
      MathLine.addTerm(1, e[i][j-1]);
      MathLine.addTerm(1, e[i][j]);
      if(i-1==0) {
      MathLine.addTerm(-1, s[i-1][j]);
      }
      if(i==4) {
      MathLine.addTerm(-1, s[i][j]);
      }
      if(j-1==0) {
      MathLine.addTerm(-1, e[i][j-1]);
      }
      if(j==4) {
      MathLine.addTerm(-1, e[i][j]);
      }
      if((i==1&&j==1)||(i==1&&j==4)||(i==2&&j==2)||(i==2&&j==3)||
              (i==3&&j==2)||i==4&&j==4) {
      numberlink.addEq(MathLine, 1);
      }
      else {numberlink.addGe(MathLine, 2);
      numberlink.addLe(MathLine, 0);}
       }
   }
   IloLinearNumExpr IfsEq1_1 = numberlink.linearNumExpr();
   IloLinearNumExpr IfsEq1_2 = numberlink.linearNumExpr();
   for(int i=1;i<=row-1;i++) {
       for(int j=1;j<=column;j++) {
   IfsEq1_1.addTerm(3,s[i][j]);
   IfsEq1_1.addTerm(-1,x[i][j]);
   IfsEq1_1.addTerm(1,x[i+1][j]);
   numberlink.addLe(IfsEq1_1,3);
   IfsEq1_2.addTerm(3,s[i][j]);
   IfsEq1_2.addTerm(1,x[i][j]);
   IfsEq1_2.addTerm(-1,x[i+1][j]);
   numberlink.addLe(IfsEq1_1,3);
       }
   }
   IloLinearNumExpr IfeEq1_1 = numberlink.linearNumExpr();
   IloLinearNumExpr IfeEq1_2 = numberlink.linearNumExpr();
   for(int i=1;i<=row;i++) {
       for(int j=1;j<=column-1;j++) {
   IfeEq1_1.addTerm(3,e[i][j]);
   IfeEq1_1.addTerm(-1,x[i][j]);
   IfeEq1_1.addTerm(1,x[i+1][j]);
   numberlink.addLe(IfeEq1_1,3);
   IfeEq1_2.addTerm(3,e[i][j]);
   IfeEq1_2.addTerm(1,x[i][j]);
   IfeEq1_2.addTerm(-1,x[i+1][j]);
   numberlink.addLe(IfeEq1_1,3);
       }
   }
   IloLinearNumExpr AllLine = numberlink.linearNumExpr();
   for(int i=1;i<=row;i++) {
   for(int j=1;j<=column-1;j++) {
   AllLine.addTerm(1,e[i][j]);
    }
   }
   for(int i=1;i<=row-1;i++) {
   for(int j=1;j<=column;j++) {
   AllLine.addTerm(1,s[i][j]);
    }
   }
   numberlink.addMinimize(AllLine);
   if(numberlink.solve()) {
   System.out.println("目的関数値は"+numberlink.getObjValue());
   for(int i=1;i<=row;i++) {
       for(int j=1;j<=column;j++) {
   System.out.println(s[i][j]+"="+numberlink.getValue(s[i][j]));
   System.out.println(e[i][j]+"="+numberlink.getValue(e[i][j]));
   System.out.println(x[i][j]+"="+numberlink.getValue(x[i][j]));
       }
   }
   }
     }
     catch(IloException e) {
     }
   }
```
実行構成のVM引数にCPLEXファイルの場所を入力した後実行すると
�G���[: ���C���E�N���X〇〇〇\Documents\IBM\ILOG\CPLEX_Studio127�����‚���Ȃ����������[�h�ł��܂���ł���
というエラーが出ます。(〇〇〇にはユーザ名が入ります。)
よろしくお願いします。
よろしくお願いします。
追記2
以下のようなコードを入力し実行すると、エラーも出ず解が出力されました。
Cplexファイルの場所を実行構成に入力せずに実行し成功したので、元のコードのエラーの原因はコード内にあるのでしょうか...?
```ここに言語を入力
package testtt;
import ilog.concert.IloException;
import ilog.concert.IloLinearNumExpr;
import ilog.concert.IloNumVar;
import ilog.cplex.IloCplex;
public class test1{
 static public void main(String[] args) {
   try {
     IloCplex cplex = new IloCplex();
     // create model and solve it
     IloNumVar x = cplex.numVar(0, Double.MAX_VALUE, "x");
     IloNumVar y = cplex.numVar(0, Double.MAX_VALUE, "y");
     IloLinearNumExpr objective = cplex.linearNumExpr();
     objective.addTerm(0.12, x);
     objective.addTerm(0.15, y);
     cplex.addMinimize(objective);
     cplex.addGe(cplex.sum(cplex.prod(60, x), cplex.prod(60, y)), 300);
     cplex.addGe(cplex.sum(cplex.prod(12, x), cplex.prod(6, y)), 36);
     cplex.addGe(cplex.sum(cplex.prod(10, x), cplex.prod(30, y)), 90);
     if (cplex.solve()) {
       System.out.println("obj = " + cplex.getObjValue());
       System.out.println("x = " + cplex.getValue(x));
       System.out.println("y = " + cplex.getValue(y));
     } else {
       System.out.println("Can not solve");
     }
   } catch (IloException e) {
     System.err.println("Concert exception caught: " + e);
   }
 }
}
```
  • Java

    22607 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Eclipse

    2862 questions

    Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

2 誤字

hanatarekozoman

hanatarekozoman score 14

2018/11/07 15:12  投稿

Eclipseで実行すると「メインクラスが見つからない」とエラーが出ます
Eclipseで、Cplexを使ったコードを書き実行すると
「エラー:メインクラス〇〇が見つからないかロードできませんでした」
と表示されました。
調べてみると、実行構成のVM引数にCplexファイルの場所を入力しなければいけないと書かれているサイトがありました。しかし、入力して実行してみると文字化け(?)を含んだエラーが表示されました。
Cplexファイルの場所を入力し間違えたのかと何度もやってみましたが同じ結果です。
解決方法をご存知の方、教えて頂けませんか?
追記
```ここに言語を入力
package numberlink;
import ilog.concert.IloException;
import ilog.concert.IloIntVar;
import ilog.concert.IloLinearNumExpr;
import ilog.cplex.IloCplex;
public class numberlink1 {
   public static void main(String[] args) {
     try {
   IloCplex numberlink = new IloCplex();
   int row=4;         
   int column=4;       
    IloIntVar s[][] = new IloIntVar[row][column];
   for(int i=1;i<=row-1;i++) {
       for(int j=1;j<=column;j++) {
   s[i][j] = numberlink.boolVar();
       }
   }
   IloIntVar e[][] = new IloIntVar[row][column];
   for(int i=1;i<=row;i++) {
       for(int j=1;j<=column-1;j++) {
    e[i][j] = numberlink.boolVar();
       }
   }
   IloLinearNumExpr NumberMath = numberlink.linearNumExpr();
   IloIntVar[][] x = new IloIntVar[row][column];
   for(int i=1;i<=row;i++) {
       for(int j=1;j<=column;j++) {
   NumberMath.addTerm(1, x[i][j]);
   numberlink.addLe(NumberMath,3);   
   numberlink.addGe(NumberMath, 1);   
       }
   }
   IloLinearNumExpr NumberMath1_a = numberlink.linearNumExpr();
   NumberMath1_a.addTerm(1,x[1][1]);
   numberlink.addEq(NumberMath1_a,1);
   IloLinearNumExpr NumberMath1_b = numberlink.linearNumExpr();
   NumberMath1_b.addTerm(1,x[2][3]);
   numberlink.addEq(NumberMath1_b,1);
   
   IloLinearNumExpr NumberMath2_a = numberlink.linearNumExpr();
   NumberMath2_a.addTerm(1,x[1][4]);
   numberlink.addEq(NumberMath2_a,2);
   IloLinearNumExpr NumberMath2_b = numberlink.linearNumExpr();
   NumberMath2_b.addTerm(1,x[3][2]);
   numberlink.addEq(NumberMath2_b,2);
   
   IloLinearNumExpr NumberMath3_a = numberlink.linearNumExpr();
   NumberMath3_a.addTerm(1,x[2][2]);
   numberlink.addEq(NumberMath3_a,3);
   IloLinearNumExpr NumberMath3_b = numberlink.linearNumExpr();
   NumberMath3_b.addTerm(1,x[4][4]);
   numberlink.addEq(NumberMath3_b,3);
   IloLinearNumExpr MathLine = numberlink.linearNumExpr();
   for(int i=1;i<=row;i++) {
       for(int j=1;j<=column;j++) {
      MathLine.addTerm(1, s[i-1][j]);
      MathLine.addTerm(1, s[i][j]);
      MathLine.addTerm(1, e[i][j-1]);
      MathLine.addTerm(1, e[i][j]);
      if(i-1==0) {
      MathLine.addTerm(-1, s[i-1][j]);
      }
      if(i==4) {
      MathLine.addTerm(-1, s[i][j]);
      }
      if(j-1==0) {
      MathLine.addTerm(-1, e[i][j-1]);
      }
      if(j==4) {
      MathLine.addTerm(-1, e[i][j]);
      }
      if((i==1&&j==1)||(i==1&&j==4)||(i==2&&j==2)||(i==2&&j==3)||
              (i==3&&j==2)||i==4&&j==4) {
      numberlink.addEq(MathLine, 1);
      }
      else {numberlink.addGe(MathLine, 2);
      numberlink.addLe(MathLine, 0);}
       }
   }
   IloLinearNumExpr IfsEq1_1 = numberlink.linearNumExpr();
   IloLinearNumExpr IfsEq1_2 = numberlink.linearNumExpr();
   for(int i=1;i<=row-1;i++) {
       for(int j=1;j<=column;j++) {
   IfsEq1_1.addTerm(3,s[i][j]);
   IfsEq1_1.addTerm(-1,x[i][j]);
   IfsEq1_1.addTerm(1,x[i+1][j]);
   numberlink.addLe(IfsEq1_1,3);
   IfsEq1_2.addTerm(3,s[i][j]);
   IfsEq1_2.addTerm(1,x[i][j]);
   IfsEq1_2.addTerm(-1,x[i+1][j]);
   numberlink.addLe(IfsEq1_1,3);
       }
   }
   IloLinearNumExpr IfeEq1_1 = numberlink.linearNumExpr();
   IloLinearNumExpr IfeEq1_2 = numberlink.linearNumExpr();
   for(int i=1;i<=row;i++) {
       for(int j=1;j<=column-1;j++) {
   IfeEq1_1.addTerm(3,e[i][j]);
   IfeEq1_1.addTerm(-1,x[i][j]);
   IfeEq1_1.addTerm(1,x[i+1][j]);
   numberlink.addLe(IfeEq1_1,3);
   IfeEq1_2.addTerm(3,e[i][j]);
   IfeEq1_2.addTerm(1,x[i][j]);
   IfeEq1_2.addTerm(-1,x[i+1][j]);
   numberlink.addLe(IfeEq1_1,3);
       }
   }
   IloLinearNumExpr AllLine = numberlink.linearNumExpr();
   for(int i=1;i<=row;i++) {
   for(int j=1;j<=column-1;j++) {
   AllLine.addTerm(1,e[i][j]);
    }
   }
   for(int i=1;i<=row-1;i++) {
   for(int j=1;j<=column;j++) {
   AllLine.addTerm(1,s[i][j]);
    }
   }
   numberlink.addMinimize(AllLine);
   if(numberlink.solve()) {
   System.out.println("目的関数値は"+numberlink.getObjValue());
   for(int i=1;i<=row;i++) {
       for(int j=1;j<=column;j++) {
   System.out.println(s[i][j]+"="+numberlink.getValue(s[i][j]));
   System.out.println(e[i][j]+"="+numberlink.getValue(e[i][j]));
   System.out.println(x[i][j]+"="+numberlink.getValue(x[i][j]));
       }
   }
   }
     }
     catch(IloException e) {
     }
   }
```
�G���[: ���C���E�N���X〇〇〇\Documents\IBM\ILOG\CPLEX_Studio127�����‚���Ȃ����������[�h�ł��܂���ł���
というエラーが出ます。(〇〇〇にはユーザ名が入ります。)
よろしくお願いします。
  • Java

    22607 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Eclipse

    2862 questions

    Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

1 コード、エラー内容を追記しました。

hanatarekozoman

hanatarekozoman score 14

2018/11/07 15:11  投稿

Eclipseで実行すると「メインクラスが見つからない」とエラーが出ます
Eclipseで、Cplexを使ったコードを書き実行すると
「エラー:メインクラス〇〇が見つからないかロードできませんでした」
と表示されました。
調べてみると、実行構成のVM引数にCplexファイルの場所を入力しなければいけないと書かれているサイトがありました。しかし、入力して実行してみると文字化け(?)を含んだエラーが表示されました。
Cplexファイルの場所を入力し間違えたのかと何度もやってみましたが同じ結果です。
解決方法をご存知の方、教えて頂けませんか?
解決方法をご存知の方、教えて頂けませんか?
追記
```ここに言語を入力
package numberlink;
import ilog.concert.IloException;
import ilog.concert.IloIntVar;
import ilog.concert.IloLinearNumExpr;
import ilog.cplex.IloCplex;
public class numberlink1 {
   public static void main(String[] args) {
     try {
   IloCplex numberlink = new IloCplex();
   int row=4;         
   int column=4;       
    IloIntVar s[][] = new IloIntVar[row][column];
   for(int i=1;i<=row-1;i++) {
       for(int j=1;j<=column;j++) {
   s[i][j] = numberlink.boolVar();
       }
   }
   IloIntVar e[][] = new IloIntVar[row][column];
   for(int i=1;i<=row;i++) {
       for(int j=1;j<=column-1;j++) {
    e[i][j] = numberlink.boolVar();
       }
   }
   IloLinearNumExpr NumberMath = numberlink.linearNumExpr();
   IloIntVar[][] x = new IloIntVar[row][column];
   for(int i=1;i<=row;i++) {
       for(int j=1;j<=column;j++) {
   NumberMath.addTerm(1, x[i][j]);
   numberlink.addLe(NumberMath,3);   
   numberlink.addGe(NumberMath, 1);   
       }
   }
   IloLinearNumExpr NumberMath1_a = numberlink.linearNumExpr();
   NumberMath1_a.addTerm(1,x[1][1]);
   numberlink.addEq(NumberMath1_a,1);
   IloLinearNumExpr NumberMath1_b = numberlink.linearNumExpr();
   NumberMath1_b.addTerm(1,x[2][3]);
   numberlink.addEq(NumberMath1_b,1);
   
   IloLinearNumExpr NumberMath2_a = numberlink.linearNumExpr();
   NumberMath2_a.addTerm(1,x[1][4]);
   numberlink.addEq(NumberMath2_a,2);
   IloLinearNumExpr NumberMath2_b = numberlink.linearNumExpr();
   NumberMath2_b.addTerm(1,x[3][2]);
   numberlink.addEq(NumberMath2_b,2);
   
   IloLinearNumExpr NumberMath3_a = numberlink.linearNumExpr();
   NumberMath3_a.addTerm(1,x[2][2]);
   numberlink.addEq(NumberMath3_a,3);
   IloLinearNumExpr NumberMath3_b = numberlink.linearNumExpr();
   NumberMath3_b.addTerm(1,x[4][4]);
   numberlink.addEq(NumberMath3_b,3);
   IloLinearNumExpr MathLine = numberlink.linearNumExpr();
   for(int i=1;i<=row;i++) {
       for(int j=1;j<=column;j++) {
      MathLine.addTerm(1, s[i-1][j]);
      MathLine.addTerm(1, s[i][j]);
      MathLine.addTerm(1, e[i][j-1]);
      MathLine.addTerm(1, e[i][j]);
      if(i-1==0) {
      MathLine.addTerm(-1, s[i-1][j]);
      }
      if(i==4) {
      MathLine.addTerm(-1, s[i][j]);
      }
      if(j-1==0) {
      MathLine.addTerm(-1, e[i][j-1]);
      }
      if(j==4) {
      MathLine.addTerm(-1, e[i][j]);
      }
      if((i==1&&j==1)||(i==1&&j==4)||(i==2&&j==2)||(i==2&&j==3)||
              (i==3&&j==2)||i==4&&j==4) {
      numberlink.addEq(MathLine, 1);
      }
      else {numberlink.addGe(MathLine, 2);
      numberlink.addLe(MathLine, 0);}
       }
   }
   IloLinearNumExpr IfsEq1_1 = numberlink.linearNumExpr();
   IloLinearNumExpr IfsEq1_2 = numberlink.linearNumExpr();
   for(int i=1;i<=row-1;i++) {
       for(int j=1;j<=column;j++) {
   IfsEq1_1.addTerm(3,s[i][j]);
   IfsEq1_1.addTerm(-1,x[i][j]);
   IfsEq1_1.addTerm(1,x[i+1][j]);
   numberlink.addLe(IfsEq1_1,3);
   IfsEq1_2.addTerm(3,s[i][j]);
   IfsEq1_2.addTerm(1,x[i][j]);
   IfsEq1_2.addTerm(-1,x[i+1][j]);
   numberlink.addLe(IfsEq1_1,3);
       }
   }
   IloLinearNumExpr IfeEq1_1 = numberlink.linearNumExpr();
   IloLinearNumExpr IfeEq1_2 = numberlink.linearNumExpr();
   for(int i=1;i<=row;i++) {
       for(int j=1;j<=column-1;j++) {
   IfeEq1_1.addTerm(3,e[i][j]);
   IfeEq1_1.addTerm(-1,x[i][j]);
   IfeEq1_1.addTerm(1,x[i+1][j]);
   numberlink.addLe(IfeEq1_1,3);
   IfeEq1_2.addTerm(3,e[i][j]);
   IfeEq1_2.addTerm(1,x[i][j]);
   IfeEq1_2.addTerm(-1,x[i+1][j]);
   numberlink.addLe(IfeEq1_1,3);
       }
   }
   IloLinearNumExpr AllLine = numberlink.linearNumExpr();
   for(int i=1;i<=row;i++) {
   for(int j=1;j<=column-1;j++) {
   AllLine.addTerm(1,e[i][j]);
    }
   }
   for(int i=1;i<=row-1;i++) {
   for(int j=1;j<=column;j++) {
   AllLine.addTerm(1,s[i][j]);
    }
   }
   numberlink.addMinimize(AllLine);
   if(numberlink.solve()) {
   System.out.println("目的関数値は"+numberlink.getObjValue());
   for(int i=1;i<=row;i++) {
       for(int j=1;j<=column;j++) {
   System.out.println(s[i][j]+"="+numberlink.getValue(s[i][j]));
   System.out.println(e[i][j]+"="+numberlink.getValue(e[i][j]));
   System.out.println(x[i][j]+"="+numberlink.getValue(x[i][j]));
       }
   }
   }
     }
     catch(IloException e) {
     }
   }
```
実行構成のVM引数にCPLEXファイルを入力した後実行すると
�G���[: ���C���E�N���X〇〇〇\Documents\IBM\ILOG\CPLEX_Studio127�����‚���Ȃ����������[�h�ł��܂���ł���
というエラーが出ます。(〇〇〇にはユーザ名が入ります。)
よろしくお願いします。
  • Java

    22607 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Eclipse

    2862 questions

    Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る