I developed a software implementation of Ant Colony Optimization to solve the Traveling Salesman Problem, but due to ACO's stochastic nature, each execution of the ACO algorithm produces a different near optimal solution every time. Is there a way to make ACO more deterministic? I understand that it will never be 100% deterministic but I need it to be able to run multiple times on the same problem space and at least come up with a similar solution most of the time. I've tried tweaking α, β, ρ and number of iterations but I'm just shooting in the dark at this point.
How can Ant Colony Optimization be made to produce more consistent results?
635 Views Asked by Ray Saltrelli At
1
There are 1 best solutions below
Related Questions in ALGORITHM
- Two different numbers in an array which their sum equals to a given value
- Given two arrays of positive numbers, re-arrange them to form a resulting array, resulting array contains the elements in the same given sequence
- Time complexity of the algorithm?
- Find a MST in O(V+E) Time in a Graph
- Why k and l for LSH used for approximate nearest neighbours?
- How to count the number of ways of choosing of k equal substrings from a List L(the list of All Substrings)
- Issues with reversing the linkedlist
- Finding first non-repeating number in integer array
- Finding average of an array
- How to check for duplicates with less time in a list over 9000 elements by python
- How to pick a number based on probability?
- Insertion Sort help in javascript -- Khan Academy
- Developing a Checkers (Draughts) engine, how to begin?
- Can Bellman-Ford algorithm be used to find shorthest path on a graph with only positive edges?
- What is the function for the KMP Failure Algorithm?
Related Questions in COMBINATORICS
- Arrangements with the following conditions
- Random sample of character vector, without elements prefixing one another
- generate all partitions of a set
- How can I return all possible permutations of a given array in Java?
- Fast way of generating combinations with constraints?
- A very complex combinations task that has been bugging me for 7 months
- Is there a standard algorithm to balance overlapping objects into buckets?
- String concatenation to generate complementary removals
- Number of triangles with N points inside
- Prolog: Shortest Path for Knight
- Combinatorial optimization with interdependent variables
- Permutation for equation solving
- How many ways can fill in HxW rooms with 2x1 tatami mats?
- Python iterator for unique arrangements of Quarto game board
- Permutations of a list with constraints python
Related Questions in MATHEMATICAL-OPTIMIZATION
- Issue with constrOptim
- out of memory in matlab run time
- How to convert quadratic to linear program?
- How to create upper bound on many variables w/ lpsolve in R?
- Finding a vector that is approximately equally distant from all vectors in a set
- Constrained quadratic optimization with the quadProg library
- R: Isotonic regression Minimisation
- How can I minimize this function in R?
- R: Quadratic programming/ Isotonic regression
- GRG Non linear constraint solver for iOS suggestions
- Two way constraint distribution optimization in R
- How do I speed up profiled NumPy code - vectorizing, Numba?
- How to do a math optimization (TSP) in R, perhaps with optim()
- Where is the 0=1 bug coming from in this Mathematica code?
- Trading run-time for higher fit accuracy?
Related Questions in ANT-COLONY
- ACO Implementation: what's the most efficient of these two (hereunder)
- On the implementation of a simple ant colony algorithm
- optmization of a scheduling problem in python
- how to solve error of Libara Library in Omnet?
- reading dataset from text file for a TSP problem using ACO in python
- Should ant colony algorithm show best path in 100% cases?
- Ant colony optimization for TSP not getting the shortest path
- How to Add antsense protocol for ns2.35?
- How can I simply use Ant Colony Optimization to find the minimum value of a function?
- Ant colony simulation - optimizing the path
- ACO Pheromone update
- Ant colony algorithm
- How to call a module object?
- Can I use different cost functions in prior( η) and posterior(τ) functiona in Ant Colony Optimization?
- clique based on ant colony
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
As Michael already stated as a comment: use a seeded pseudo random number generator (PRNG) and reuse the same all over your implementation.
In Java, do something like this:
There are a couple of other things you might need to disable (especially in multi-threaded implementations) to have 100% reproducibility, some of which I discuss in my implementation's docs section 4.4.3.4. REPRODUCIBLE (such as replacing
HashMapbyLinkedHashMapwhen needed).