- Member frodo2.algorithms.AbstractSolver< P extends ProblemInterface< V, U, V extends Addable< V >, U extends Addable< U >, S extends Solution< V, U >.solGatherers
- MAS solvers don't use the XCSPparser
- Member frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.backTrack (VariableInfo< Val, U > variable)
- In Modi's pseudocode, this is called only after sending VALUE messages
- Member frodo2.algorithms.adopt.ADOPT< Val extends Addable< Val >, U extends Addable< U > >.Original< Val extends Addable< Val >, U extends Addable< U > >.handleTERMINATEmessage (VariableInfo< Val, U > variable, ENDmsg< Val > msg)
- This is not in Modi's pseudocode
- Member frodo2.algorithms.adopt.test.ADOPTagentTest< V extends Addable< V >, U extends Addable< U > >.suite ()
ADOPT does not seem to handle message delays.
The first test fails
- Member frodo2.algorithms.afb.test.AFBagentTest< V extends Addable< V >, U extends Addable< U > >.checkOutput ()
- Very rarely fails
- Member frodo2.algorithms.asodpop.tests.ASODPOPagentTest< V extends Addable< V >, U extends Addable< U > >.suite ()
- Rarely gets stuck
- Member frodo2.algorithms.asodpop.tests.ASODPOPBinaryAgentTest< V extends Addable< V >, U extends Addable< U > >.suite ()
- Rarely gets stuck
- Member frodo2.algorithms.Convergence< V extends Addable< V >, U extends Addable< U > >.processAssignmentHistories (HashMap< String, ArrayList< CurrentAssignment< V > > > assignmentHistories, List< ? extends UtilitySolutionSpace< V, U > > hypercubes, String experiment_number, String resultPath, U infeasibleUtil, boolean maximize, boolean time)
- timeWriterAll will not be closed
- Member frodo2.algorithms.Convergence< V extends Addable< V >, U extends Addable< U > >.processRuns (String resultPath, String resultFile, String problemName, int sampleSize, boolean maximize)
- br will not be closed
- Class frodo2.algorithms.dpop.stochastic.robust.test.Robust_E_DPOPagentTest< V extends Addable< V > >
- There seem to be interferences between consecutive tests, producing timeouts, "Non-monotone problem" AssertionErrors and "address already in use" errors
- Member frodo2.algorithms.dpop.stochastic.test.E_DPOPagentTest< V extends Addable< V > >.checkOutput ()
- Very rarely fails.
- Member frodo2.algorithms.dpop.stochastic.test.ExpectedUTILtest.Listener.checkOutput ()
Sometimes fails
Rarely fails with -infinity != -infinity
Rarely fails
- Member frodo2.algorithms.dpop.test.UTILpropagationTest< U extends Addable< U > >.computeDFS (Graph graph, DCOPProblemInterface< V, U > problem, boolean withSharedVars)
- the spaces must come for the agent's subproblem to correctly count NCCCs
- Member frodo2.algorithms.dpop.test.VALUEpropagationTest< U extends Addable< U > >.Listener.waitForOutputs ()
- Sometimes, the pipes are closed while the VALUEpropagation listeners are still sending messages; this throws a SocketException, but the unit tests still pass and are still valid.
- Member frodo2.algorithms.duct.NormalizeInf< V extends Addable< V > >.notifyIn (Message msg)
- Sometimes fails, most noticeably on locally infeasible problems (bug reported by Duc Thien Nguyen)
- Member frodo2.algorithms.duct.tests.DUCTagentTest.testRandom ()
Often times out
Often times out
- Member frodo2.algorithms.maxsum.tests.MaxSumTests< V extends Addable< V >, U extends Addable< U > >.suite ()
Max-Sum may not terminate when using TCP pipes because there is not idleness detection
Max-Sum may not terminate when using TCP pipes because there is not idleness detection
- Member frodo2.algorithms.mpc_discsp.LUdecomposition.LUdecomposition (Matrix M, BigInteger mod)
- Is this guaranteed to work modulo mod?
- Member frodo2.algorithms.mpc_discsp.tests.MPC_DisWCSP4tests.test ()
Rarely times out
Very rarely fails
- Member frodo2.algorithms.odpop.goodsTree.InnerNodeTreeFullDomain.InnerNodeTree< Val extends Addable< Val >, U extends Addable< U >, L extends LeafNode< U > >.compareWithHypercube (UtilitySolutionSpace< Val, U > h)
- Never used!
- Member frodo2.algorithms.synchbb.test.SynchBBagentTest< V extends Addable< V >, U extends Addable< U > >.checkOutput ()
- Very rarely fails
- Member frodo2.algorithms.varOrdering.dfs.DFSgeneration< V extends Addable< V >, U extends Addable< U > >.DFSview< V extends Addable< V >, U extends Addable< U > >.clone ()
- Do a deep clone instead?
- Member frodo2.algorithms.varOrdering.dfs.DFSgenerationParallel< S extends Comparable< S > &Serializable >.FakeQueue.sendMessageToSelf (Message msg)
- very rarely throws a NullPointerException
- Class frodo2.algorithms.varOrdering.election.tests.VariableElectionTest< S extends Comparable< S > &Serializable >
- Even if all unit tests pass, sometimes a SocketException is thrown. This is because, as soon as a variable receives a MaxIDmsg with an ID higher than its own, it already knows that it is not the leader, and already sends an output message saying it is not the leader. But then it must keep processing MessageMaxIDs until the protocol finishes. Since VariableElectionTest only listens to output messages, it sometimes starts closing queues while MessageMaxIDs are still in the process of being delivered. Solution to fix this: make VariableElectionTest also listen to MessageMaxIDs, and properly compute how many of these messages it must wait for before it can close the queues.
- Member frodo2.communication.mailer.CentralMailer.run ()
- Store the message if required
- Member frodo2.communication.Queue.notifyOutListeners (Object fromAgent, Message msg, Collection<? extends Object > toAgents)
- very rarely throws a NullPointerException
- Member frodo2.communication.tcp.QueueInputPipeTCPTest.Sender.run ()
- socket and out will not be closed
- Member frodo2.controller.ConfigurationManager.resultFile
- The solution is never written to the file
- Member frodo2.controller.Controller.initLocal (boolean ui, String workDir)
- ui is not used.
- Member frodo2.daemon.Daemon.exit (boolean quit)
- Before exiting, the Daemon should warn the Controller.
- Member frodo2.gui.DOTrenderer.createDOTfigure ()
- err will not be closed
- Member frodo2.gui.jung.JungVisualizer.actionPerformed (ActionEvent e)
- Not working
- Member frodo2.gui.jung.JungVisualizer.init ()
The Reset button should scale back to layout
Keeps jumping around
Results in unnecessary edge crossings
Typically doesn't converge
Apparently experimental
- Member frodo2.solutionSpaces.hypercube.BasicHypercube< V extends Addable< V >, U extends Serializable >.compose (final String[] varsOut, final BasicUtilitySolutionSpace< V, ArrayList< V > > subst)
I might disagree with this domain; compute the intersection
I might disagree with this domain; compute the intersection
iterate over the intersected domains
- Member frodo2.solutionSpaces.hypercube.BasicHypercube< V extends Addable< V >, U extends Serializable >.slice (String[] remainingVars, V[][] remainingDoms, V[][] iterDoms, long nbrRemainingUtils, Class<?> domClass)
- Don't count NCCCs
- Member frodo2.solutionSpaces.hypercube.BlindProjectOutput< V extends Addable< V >, U extends Addable< U > >.resolve (boolean sparse)
When sparse == true, might not work if the projection maximizes a minimization space or vice-versa, because the sparse iterator will skip the wrong infeasibility
When sparse == true, might not work if the projection maximizes a minimization space or vice-versa, because the sparse iterator will skip the wrong infeasibility
- Member frodo2.solutionSpaces.hypercube.ExpectationOutput< V extends Addable< V >, U extends Addable< U > >.clone ()
- I'm too lazy to implement this method
- Member frodo2.solutionSpaces.hypercube.Hypercube< V extends Addable< V >, U extends Addable< U > >.consensus (final String varOut, final Map< String, UtilitySolutionSpace< V, U > > distributions, final boolean maximum, final boolean allSolutions, final boolean expect)
- Can be 0 even if the true utility of the current solution is worse
- Member frodo2.solutionSpaces.hypercube.Hypercube< V extends Addable< V >, U extends Addable< U > >.Hypercube (String[] variables_order, V[][] variables_domains, Object[] utility_values, U infeasibleUtil)
- Extract the type used for utility values from the multi-dimensional array utility_values
- Member frodo2.solutionSpaces.hypercube.ScalarHypercube< V extends Addable< V >, U extends Addable< U > >.join (UtilitySolutionSpace< V, U > space, String[] total_variables, final boolean addition, boolean minNCCCs)
- The output hypercube does not respect the input variable order
- Member frodo2.solutionSpaces.hypercube.ScalarHypercube< V extends Addable< V >, U extends Addable< U > >.saveAsXML (String file)
- To be implemented
- Member frodo2.solutionSpaces.hypercube.tests.HypercubeTest.testSerializationNullHypercube ()
- objIn might not be closed
- Member frodo2.solutionSpaces.JaCoP.IterSolutionListener< V extends Addable< V > >.executeAfterSolution (final Search< IntVarCloneable > search, final SelectChoicePoint< IntVarCloneable > select)
- handle spurious wake-ups
- Member frodo2.solutionSpaces.JaCoP.JaCoPutilSpace< V extends Addable< V > >.[static initializer]
- Doesn't it also know Hypercubes?
- Member frodo2.solutionSpaces.JaCoP.JaCoPutilSpace< V extends Addable< V > >.join (UtilitySolutionSpace< AddableInteger, V >[] spaces)
- If the current space is supposed to project out any variable contained in another space, it must do so before the join is performed, by calling resolve(). This should normally never happen, though.
- Member frodo2.solutionSpaces.JaCoP.JaCoPutilSpace< V extends Addable< V > >.readExternal (ObjectInput in)
- Treat separately the case when no feasible solution exists
- Member frodo2.solutionSpaces.JaCoP.JaCoPutilSpaceIter2< V extends Addable< V > >.getNextFromSearch (final boolean first)
- handle spurious wake-ups
- Member frodo2.solutionSpaces.JaCoP.JaCoPutilSpaceIter2< V extends Addable< V > >.initSearch (final V strictBound)
Potential name clash with a user-specified variable name
Potential name clash with a user-specified variable name
- Member frodo2.solutionSpaces.JaCoP.JaCoPutilSpaceIterBestFirst< V extends Addable< V > >.getNumberOfFeasibleSolutions ()
- Name clash in case the user defined a variable with this name
- Member frodo2.solutionSpaces.JaCoP.JaCoPutilSpaceIterBestFirst< V extends Addable< V > >.searchAllSolutions (V valuation)
- Projected variables are not being projected; the resulting solution list might contain two solutions that only differ on the projected variables, which should not happen
- Member frodo2.solutionSpaces.JaCoP.JaCoPutilSpaceIterBestFirst< V extends Addable< V > >.searchBestUtility (V bound)
Name clash in case the user defined a variable with this name
Name clash in case the user defined a variable with this name
- Member frodo2.solutionSpaces.JaCoP.Predicate.getConstraint (StoreCloneable store)
- Can't the token also be an IntVar or an Integer?...
- Member frodo2.solutionSpaces.JaCoP.tests.JaCoPproblemTest< V extends Addable< V > >.suite ()
Throws IndexOutOfBoundsException https://github.com/radsz/jacop/issues/69
Throws "non-optimal arcs" asserts https://github.com/radsz/jacop/issues/47
Bug in JaCoP: https://github.com/radsz/jacop/issues/64
MGM-2 rarely hits inf - inf
- Member frodo2.solutionSpaces.JaCoP.tests.JaCoPtests< V extends Addable< V > >.suite ()
MPC-DisCSP4 occasionally fails tests
MPC-DisWCSP4 occasionally fails tests
- Member frodo2.solutionSpaces.vehiclerouting.Customer.setPosition (int angle)
- Does not change the coordinates from the point of view of the super class
- Member org.jacop.constraints.AmongVarCloneable.consistency (Store store)
- Overrides the parent method as a workaround to https://github.com/radsz/jacop/issues/46
- Member org.jacop.constraints.AmongVarCloneable.consistencyForX (Store store)
- Overrides the parent method as a workaround to https://github.com/radsz/jacop/issues/46
- Member org.jacop.constraints.AmongVarCloneable.consistencyForY (Store store)
- Overrides the parent method as a workaround to https://github.com/radsz/jacop/issues/46
- Member org.jacop.constraints.AmongVarCloneable.consistencyWhen_LB0_EQ_UB0 (Store store)
- Overrides the parent method as a workaround to https://github.com/radsz/jacop/issues/46
- Member org.jacop.constraints.AmongVarCloneable.futureLbS
- Overrides the parent member as a workaround to https://github.com/radsz/jacop/issues/46
- Member org.jacop.constraints.AmongVarCloneable.impose (Store store)
Overrides the parent method as a workaround to https://github.com/radsz/jacop/issues/46
https://github.com/radsz/jacop/issues/46
- Member org.jacop.constraints.AmongVarCloneable.lb0TS
- Overrides the parent member as a workaround to https://github.com/radsz/jacop/issues/46
- Member org.jacop.constraints.AmongVarCloneable.lbS
- Overrides the parent member as a workaround to https://github.com/radsz/jacop/issues/46
- Member org.jacop.constraints.AmongVarCloneable.queueVariable (int level, Var var)
- Overrides the parent method as a workaround to https://github.com/radsz/jacop/issues/46
- Member org.jacop.constraints.AmongVarCloneable.removeLevel (int level)
- Overrides the parent method as a workaround to https://github.com/radsz/jacop/issues/46
- Member org.jacop.constraints.AmongVarCloneable.satisfied ()
- Overrides the parent method as a workaround to https://github.com/radsz/jacop/issues/46
- Member org.jacop.constraints.AmongVarCloneable.ub0TS
- Overrides the parent member as a workaround to https://github.com/radsz/jacop/issues/46
- Member org.jacop.constraints.AmongVarCloneable.variableQueueY
- Overrides the parent member as a workaround to https://github.com/radsz/jacop/issues/46
- Member org.jacop.constraints.AmongVarCloneable.xGrounded
- Overrides the parent member as a workaround to https://github.com/radsz/jacop/issues/46
- Member org.jacop.constraints.AmongVarCloneable.xIndex
- Overrides the parent member as a workaround to https://github.com/radsz/jacop/issues/46
- Member org.jacop.constraints.AmongVarCloneable.yGrounded
- Overrides the parent member as a workaround to https://github.com/radsz/jacop/issues/46
- Member org.jacop.constraints.AmongVarCloneable.yIndex
- Overrides the parent member as a workaround to https://github.com/radsz/jacop/issues/46