savi.visualization.addons
Class Knapsack

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Panel
              extended by savi.visualization.support.TaskPanel
                  extended by savi.visualization.support.SimPanel
                      extended by savi.visualization.addons.Knapsack
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.lang.Runnable, javax.accessibility.Accessible

public class Knapsack
extends SimPanel

Visualization add-on for Knapsack problem.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class savi.visualization.support.SimPanel
alg, bestScreen, bestState, graph, ide, infoPanel, isRunning, runThread, screen, settings, state, viewCurrent
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Knapsack()
          Creates a new instance of Knapsack
 
Method Summary
protected  boolean acceptableItem(int w, int wmax, int granul, double exp)
          Internal support function for generator, return true if item should be accepted with knapsack generator with given parameters.
protected  void filePreprocess(java.io.InputStream is)
          Read instance from stream.
protected  VisualizationInfo getInfoPanel()
          Prepare and return help panel for this problem.
 java.lang.String getSimulationName()
          Return name of the problem.
protected  boolean initAlg()
          Initialize algorithm for solving.
protected  void initComponents()
          Initialize components in the add-on
protected  void initState()
          Initialize problem state.
protected  double[][] knapsackGenerator(int icount, int wmax, int cmax, int granul, double exp)
          Generate submission (can fine tuned).
protected  void loadSubmission(java.lang.String sub)
          Load submission (instance) from the textline.
protected  void updateDisplay(StateSkeleton s)
          Update info panel (display) with given state.
 
Methods inherited from class savi.visualization.support.SimPanel
activateScreenView, activateView, addEmptySpace, addInputButton, addInputField, addOutputField, callSaveInstance, getState, oneStep, oneStepAndUpdateView, run, running, setEnableIDE, setViewCurrent, startAnimation, traverseComponentsSetEnabled, updateComponentsByState, updateDisplay, updateView
 
Methods inherited from class java.awt.Panel
addNotify, getAccessibleContext
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, checkImage, checkImage, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Knapsack

public Knapsack()
Creates a new instance of Knapsack

Method Detail

initState

protected void initState()
Initialize problem state.

Specified by:
initState in class SimPanel

getInfoPanel

protected VisualizationInfo getInfoPanel()
Prepare and return help panel for this problem.

Specified by:
getInfoPanel in class SimPanel
Returns:
help panel

getSimulationName

public java.lang.String getSimulationName()
Return name of the problem.

Specified by:
getSimulationName in class TaskPanel
Returns:
name of the problem

initComponents

protected void initComponents()
Initialize components in the add-on

Overrides:
initComponents in class SimPanel

updateDisplay

protected void updateDisplay(StateSkeleton s)
Update info panel (display) with given state.

Overrides:
updateDisplay in class SimPanel
Parameters:
s - state

initAlg

protected boolean initAlg()
Initialize algorithm for solving.

Overrides:
initAlg in class SimPanel
Returns:
true if algorithm is properly initialized

acceptableItem

protected boolean acceptableItem(int w,
                                 int wmax,
                                 int granul,
                                 double exp)
Internal support function for generator, return true if item should be accepted with knapsack generator with given parameters.

Parameters:
w - weight
wmax - generator maximum weight
granul - generator granularity
exp - generator exponent
Returns:
true if item should be accepted with generator

knapsackGenerator

protected double[][] knapsackGenerator(int icount,
                                       int wmax,
                                       int cmax,
                                       int granul,
                                       double exp)
Generate submission (can fine tuned).

Parameters:
icount - number of items in instance
wmax - maximum weight of item
cmax - maximum cost of item
granul - granularity
exp - exponent
Returns:
instace (items list)

loadSubmission

protected void loadSubmission(java.lang.String sub)
                       throws savi.visualization.addons.Knapsack.WrongInputException
Load submission (instance) from the textline.

Parameters:
sub - text line with submission
Throws:
savi.visualization.addons.Knapsack.WrongInputException - signalize syntax error

filePreprocess

protected void filePreprocess(java.io.InputStream is)
                       throws java.lang.Exception
Read instance from stream.

Parameters:
is - input stream
Throws:
java.lang.Exception - signalize error