Skip to content

Conversation

@mvinni
Copy link
Contributor

@mvinni mvinni commented Jan 11, 2016

Here is a suggestion to improve the output of maxfield to be much shorter. For example, for the courtsquare.portals example input, for one agent, the suggested route is:

Total time estimate: 17 minutes
Agent distance:   1008 m
Agent experience: 43140 AP

compared with the

Total time estimate: 28 minutes
Agent distance:   2294 m
Agent experience: 43140 AP

of the unmodified code.

In my tests the length improvement of the route for one agent has been typically more than 50 %, but naturally it depends on the randomization. For more agents the benefit may be smaller, but I don't have any figures for that.

There probably are still easy improvements to be made to the algorithm. The most common error result for a bad modification is two (or more) triangles forming on the same side of a link at the same time (getting a field and AP only for the largest). So, anybody experimenting with the code should keep an eye open for those. I have run the code through automatic tests some hundreds of times, and this version so far has not failed.

(originally I submitted a pull request to the "upstream" at jpeterbaker/maxfield#34, but so far received no response there; perhaps the website users would benefit of these changes)

mvinni added 2 commits January 1, 2016 23:43
Records edge dependencies and uses that information
to reorder edges in the edge sequence as long as the path
length is reduced.
Childless "exterior" triangles can be completed in any order.
If the triangle has children, make sure to complete the edge
opposite of the final vertex early (not as the last edge).
Otherwise the greedy optimizer might move the completion of
that edge last, causing two (or more) triangles to be
constructed at the same side of the edge at the same time.
@tvwenger
Copy link
Owner

Thanks! I have some other changes to incorporate soon as well. I'll work on
this as soon as I can!

@tvwenger
Copy link
Owner

Hi, I've just updated the code with some of jpterbaker's changes and they significantly improve the agent walk time. Feel free to submit another pull request if you notice any other changes that could be made to make it more efficient.

@tvwenger tvwenger closed this Feb 27, 2016
@mvinni mvinni mentioned this pull request Mar 20, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants