Package Phase3

Class DancingLinksProblem

java.lang.Object
Phase3.DancingLinksProblem

public class DancingLinksProblem
extends java.lang.Object
Class for solving the dancing links problem
  • Field Summary

    Fields 
    Modifier and Type Field Description
    (package private) float bestScore  
    (package private) java.lang.Object[] bestSolution  
    (package private) boolean exactCover  
    (package private) boolean foundSolution  
    (package private) java.lang.String[] headerNames  
    (package private) boolean[][] inputMatrix  
    (package private) int layerCutoff  
    (package private) int maxSeconds  
    (package private) java.util.List<java.lang.Float> maxValuePerLayer  
    (package private) boolean precise  
    (package private) float pruneCutoff  
    (package private) int pruneWait  
    (package private) DataObject root  
    (package private) java.util.List<java.lang.Integer> rowTypes  
    (package private) long run  
    (package private) ColumnObject smallestColumn  
    (package private) java.time.Instant start  
    (package private) long timeElapsed  
  • Constructor Summary

    Constructors 
    Constructor Description
    DancingLinksProblem​(boolean[][] inputMatrix, java.lang.String[] headerNames, java.util.List<java.lang.Integer> rowTypes, boolean exactCover, int maxSeconds, boolean precise)  
  • Method Summary

    Modifier and Type Method Description
    void answerToUI()  
    void createDataStructure()
    Method creating the dancing links data structure
    float getSolutionScore​(java.util.ArrayList<java.lang.Integer> solution)  
    void partialCoverDriver​(java.util.ArrayList<java.lang.Integer> tmp_branch_solution, int layer)  
    void reduceInput()
    Method that removes/unlinks columns that can't be filled
    void solveDriver()  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait