FunctionViewer class is a part of Optimizer package that gives you possibility to visualize your own functions and test different methods of optimization.
Main features:
|
![]() |
Easiest way to visualize your own functions includes the following simple steps:
Short version of MyFunctionViewer.java file:
import com.javir.Optimizer.*;
public class MyFunctionViewer extends FunctionViewer
{
public MyFunctionViewer(){
}
public String getFunctionName(int i){
String Names[]={
"Function1: hills+banana",
"Function2: random hils",
"Function3: circles"};
if (i>=Names.length) return null;
return Names[i];
}
public String getFunctionText(int i){
switch (getCurrentFunction()){
case 0: return "0.6*(x*x+y*y)\n"+
"+k1/[k2*((x-k3)^2+(y-k4)^2)+1]\n"+
"+k5/[k6*((x-k7)^2+(y-k8)^2)+1]\n"+
"+k9/[k10*((x-k11)^2+(y-k12)^2)+1]\n";
case 1: return "Y=0.6*(x*x+y*y)\n"+
"for(int i=0;i<20;i++)// kn are random\n"+
" Y+=k1/[k2*((x-k3)^2+(y-k4)^2)+1]\n";
case 2: return "see source for details";
default: return "";}
}
public double getValue(double xx[]){
switch (getCurrentFunction()){
case 0: return hills_and_banana(xx);
case 1: return hills(xx);
case 2: return circles(xx);}
return 0;}
public double hills_and_banana(double xx[]){
...
};
public double hills(double xx[]){
...
}
public double circles(double xx[])
{
...
}
}
|