solver
Class HierarchicalClusteringSolver

java.lang.Object
  extended by solver.Solver
      extended by solver.HierarchicalClusteringSolver

public class HierarchicalClusteringSolver
extends Solver

Author:
Sepp Hartung

Field Summary
private  boolean interleaving
           
 long iter
          Recursive step counter.
 
Fields inherited from class solver.Solver
instance
 
Constructor Summary
HierarchicalClusteringSolver(HierarchicalClusteringInstance instance)
           
 
Method Summary
 boolean branch(ConflictStorage conflicts, int[] conflict, int indexI, int indexJ, int d_i_j, int d_j_l, int d_i_l, int level)
          Computes a branch, in which the distance d(indexI,indexJ) will be adjusted to solve a conflict.
private  void runKernelizationProcess()
           
 boolean solve()
          Solves the given Hierarchical Clustering instance by a search tree algorithm.
 boolean solve(boolean kernelization, boolean interleaving)
           
private  boolean solve(ConflictStorage conflicts, int[] con, int level)
          Solves the given distance function with a 3^k search tree algorithm.
 
Methods inherited from class solver.Solver
getSolution
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

interleaving

private boolean interleaving

iter

public long iter
Recursive step counter.

Constructor Detail

HierarchicalClusteringSolver

public HierarchicalClusteringSolver(HierarchicalClusteringInstance instance)
Method Detail

branch

public boolean branch(ConflictStorage conflicts,
                      int[] conflict,
                      int indexI,
                      int indexJ,
                      int d_i_j,
                      int d_j_l,
                      int d_i_l,
                      int level)
Computes a branch, in which the distance d(indexI,indexJ) will be adjusted to solve a conflict.

Parameters:
conflicts -
conflict -
indexI -
indexJ -
d_i_j -
d_j_l -
d_i_l -
level -
Returns:

runKernelizationProcess

private void runKernelizationProcess()
                              throws UnsolvableExecption
Throws:
UnsolvableExecption

solve

public boolean solve()
Solves the given Hierarchical Clustering instance by a search tree algorithm.

Specified by:
solve in class Solver
Parameters:
kernelization - true=Perform a two phase attack. At first compute a O(k^2)-node kernel and in the second step run the search tree algorithm on this kernel. false= Runs the search tree algorithm on the whole instance.
Returns:
Throws:
UnsolvableExecption

solve

public boolean solve(boolean kernelization,
                     boolean interleaving)

solve

private boolean solve(ConflictStorage conflicts,
                      int[] con,
                      int level)
Solves the given distance function with a 3^k search tree algorithm.

Returns:
ultrametric
Throws:
UnsolvableExecption