I did not. I made something to help with the problem stated in the OP. You are obsessing over the word “optimize”.
…wow
Guys, I really just have fun writing code and I am trying to make something that helps in the situation given by the OP. I like EvE and I like writing code. I’m not a professional. I’m not claiming to have solved the mysteries of the universe. If I have insulted anyone, I am sorry.
The script is called “route_optimizer”. It’s associated with the “optimize” button in the game and the problem stated in the OP. That is all.
If this is too annoying to withstand, please just ignore and return to mining. Sorry for the disturbance.
The problem of the OP is to OPTIMIZE the existing route, not to find an approximation.
Having fun writing code is nice. Really, it is.
Claiming it does things that it actually does not do is not.
Also you not accepting your program is NOT doing optimization and instead claiming “yeah it does not but it’s ok to say it does” IS insulting.
If it does NOT do optimization, then don’t call it “optimizer”.
That’s fine. We did the same in FreeBSD. There are thousands of us, well, thousands of them. I am no longer working on it, but thousands of people, all over the world, writing code committed to a central repository.
The same is true of Linux, which I sorta, grudgingly accept, even though, GPL. Don’t get me started.
I was not a professional, either. Most aren’t. There are only a few that are really coding as a job. Most of us are hobbyists.
MacOS, the Darwin kernel, and by extension, all those iPhones? FreeBSD, at the root. The thing is greater than the sum of it’s parts. Don’t let anyone put you down.
Then you need to accept you don’t answer the request here. You provide something that can answer a close request, provided the client accept some tradeoffs.
If my cat request dragons and I can’t find them, but I have birds, I can’t claim that birds are dragons, but I can claim that I found birds and that if he’s willing to eat faster he should accept them instead. It does not mean that birds are not good. It does not mean I did not enjoy hunting the birds. If he tells me birds are no dragons, it means nothing about me. If he then says “meaow” which translates in “but I want dragons !” then I can tell him that’s not something I can do, though the birds are his.
He surely will purr them in its mouth if they are still alive, and make me hunt them.
The source code of my 3d EVE map contains all the names and locations of all systems, and their respective security status, nicely arranged into seperate arrays. Anyone interested?
Anderson can be a bit … rough … at times. Don’t mistake it as her trying to be mean, she’s not trying to discourage you from anything. You’re doing fine and as long as you keep on keeping on you will also keep getting better.
just wanna ask, why cant we “fix” the endpoint for a route before optimizing it
is it gonna make the math to a new degree of difficulty or what?
i keep getting my endpoint changed when i apply optimization, feels bad
So, what I ended up doing with the script I made is I added an adjustable level of recursion.
You can enter a number determining how many cycles you would like to run. The script will run that number of times.
When it runs into a waypoint where all other waypoints are the same distance away, it will try one of those and save that route in an array.
On the next cycle, it will try a different route. For each following cycle, another route will be attempted. This continues until all possible routes have been considered.
If the number of cycles exceeds the number needed to find every possible route, the script will continue running until the remaining cycles are complete but you will start seeing messages such as “Best possible route already found for this waypoint”.
Once all of the cycles have completed, all of the routes created by these cycles are compared to find which one is the shortest. This is the result returned by the script. If you have a large number of waypoints and the process cannot be completed in a reasonable amount of time, you can reduce the number of cycles and obtain a sub-optimal result.
A large number of cycles with a large number of waypoints will likely take an unrealistic amount of time to process.
This is not recursion, this is called “branching”.
One improvement you can make is , once you found a solution (that is, an instance), then you save the best solution. When you branch, you “cut” the branches that must produce a worst solution.
How do you know that a branch must produce a worst solution ? You can pick each remaining station, and consider the shortest distance to an available other station. an available station is a station that either was not placed in the route, or is the last one. Then you sum the shortest available distances for each station, you add the existing route distance. If this lower bound distance is > already found solution, you backtrack to the previous choice and start exploring the next possible station at that choice.
This is called branch and bound(b&b), though In that case it is a mix of b&b with greedy, and a complete b&b (with eg greedy as heuristic) is the goto solution for the exploration of a TSP.
Not exactly correct. Quantum algorithms solve problems but due to how differently they work you need to apply wholly different categorization for them. Think of it this - number factorization is linear problem (n) for quantum computers but definitely not the case for classical turing machines.
Other computing methods involve computing using DNA strands - same rule as above applies. Great for solving certain classes of problems, sucks for nearly everything else (like solving some ‘classes’ of NP problems efficiently, generally DNA computing tends to be good at graphs). Peptide computing is similar - with advantage of being fully capable turing machine… and all problems coming with it.
Highly specialized computing methods may excel at solving some problems but they generally come with big set of disadvantages.