
Closed
Posted
Paid on delivery
Need algorithm- specifically Djikstra expert for optimizing special , particular case of Djikstra in a special rules system. # Rules : In a 2d grid, each point can either have an object or not. Object can be of different types wood, stone, dirt, etc. eac Each object has a current value. Object can be a current source, if it is, it will have 66 current. For any current source, it can give current to object connected to it through other objects. for any object, current can only travel to all of its 8 neighbours. Each type of object has a resistance. for A and B adjacent objects : If A has 5 current, and it gives 2 current to B, B has 2 current, while A still has 5 current, not 5 - 2 = 3 current. if A has 10 current, and 2 current is to travel to B, and B's resistance is 6, then B will get 2/6 = 1/3 current. for A adjacent to B, all of A's current travels to B, but B only gets whats left after applying resistance. current needs to travel through objects. For any object connected to a current source object, the current the object will be the current through the path of least resistance, i.e. max. possible current. Value of current of an object is sum of contributions of all sources connected to it . # current alogorithm used - djikstra : for current source, neigbour of a object only accepts current coming from the object if its greater than its present value. This results in choosing the path of least resistance for each object. current is propagated from the current source outwards. Propogation from each current source is done seperately as of now to get contribution from each. # the problem : When sources increase, it becomes very computationally expensive. Typically there will be thousands of sources in a region of 30000 points that need to be computed often . so either reduce work per source or find a way process multiple sources efficiently while keeping seperate contributions. Or do something different entirely.
Project ID: 40603082
11 proposals
Remote project
Active 1 min ago
Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
11 freelancers are bidding on average ₹6,568 INR for this job

Hello, Your problem is very interesting because it isn't just a standard Dijkstra implementation—it is essentially a multi-source propagation problem with custom physics (current, resistance, and additive source contributions). Running a separate Dijkstra from every source over ~30,000 nodes will naturally become the bottleneck when you have thousands of sources. I have experience implementing graph algorithms and performance-focused software, and I'd like to analyze your current implementation before proposing the best optimization. Depending on the exact resistance rules and update frequency, possible approaches include: * Optimizing the current Dijkstra implementation with specialized data structures. * Multi-source propagation while preserving individual source contributions. * Exploiting the monotonic nature of current propagation to reduce unnecessary relaxations. * Caching/incremental recomputation when only a small part of the grid changes. * Alternative graph algorithms if Dijkstra is no longer the optimal choice for this particular rule system. Rather than making assumptions, I'll first understand the exact constraints and benchmark the existing algorithm. My goal is to achieve a significant speedup while ensuring the computed current values remain mathematically identical. I look forward to discussing the problem and finding the most efficient solution. Best regards, Khaled
₹1,500 INR in 1 day
5.1
5.1

Hi, Thank you for sharing the detailed problem description. We took some time to understand both the propagation rules and your current Dijkstra-based approach. From what we understand, the propagation logic is correct. The real challenge is scalability—running a separate propagation for every source becomes expensive when thousands of sources must be processed repeatedly over a grid of around 30,000 objects. This is more than a standard shortest-path problem because the algorithm must preserve the strongest path from each source while keeping individual source contributions separate before accumulating the final current at each object. We believe there is good scope for optimization without changing the propagation rules or the final results. Rather than simply making Dijkstra faster, we'd focus on reducing redundant computation and improving the overall algorithmic efficiency. Since you're specifically looking for an algorithm, we'd first validate the simulation constraints (update frequency, source/object changes, etc.) and then propose the most suitable optimization strategy for your use case. Looking forward to discussing the problem further.
₹9,500 INR in 7 days
3.1
3.1

Hello, We can help you with this project. We have extensive experience in MATLAB and mathematics. Please contact us to discuss the project in more detail.
₹12,500 INR in 7 days
1.8
1.8

The fact that you're running Dijkstra independently per source across thousands of sources on a 30k-point grid is the bottleneck, and there's a cleaner path here. I'll restructure this so instead of N separate Dijkstra passes, we use a multi-source priority queue with source-tagged propagation, tracking per-source contributions without redundant traversals. Objects that share dominant resistance paths can be batched, cutting repeated edge relaxations dramatically. One thing worth considering: since resistance is multiplicative along paths (not additive like typical Dijkstra weights), converting to log-space turns your "max current" problem into a standard shortest-path problem, which makes pruning far more effective. Best regards, Shayan
₹1,650 INR in 3 days
1.4
1.4

Hi, I will optimize Dijkstra algorithm for a 2d grid with unique rules system, delivering a efficient solution for thousands of sources. I commit to a 1-week timeline within the 1500-12500 INR budget, can I start now? Waiting for your response in chat! Best Regards.
₹7,000 INR in 3 days
0.0
0.0

IF YOU'RE NOT HAPPY, YOU DON'T PAY. I recently completed a project optimizing a pathfinding algorithm, resulting in a 40% reduction in computation time and improved efficiency. I understand you need to optimize Dijkstra's Algorithm for a unique rules system involving multiple current sources on a 2D grid. I will analyze your current approach and implement strategies to streamline computations by reducing work per source or efficiently processing multiple sources while maintaining separate contributions. My goal is to create a clean and scalable solution that effectively handles thousands of sources. I focus on good planning, clean and maintainable code, clear communication, on-time delivery, and reliable long-term solutions. I am confident I can help you achieve your optimization goals. If this aligns with your project, feel free to reach out to discuss scope and pricing. WORST CASE SCENARIO YOU WALK AWAY WITH A FREE CONSULTATION. Regards ridwaan6254
₹7,500 INR in 7 days
0.0
0.0

I have strong experience with graph algorithms, shortest path optimization, and performance-focused algorithm design. Your problem is not a standard Dijkstra implementation because current propagation follows custom resistance rules, multiple independent sources contribute simultaneously, and each node must retain separate source contributions. This requires a specialized optimization rather than a conventional shortest path solution. I will first analyze the mathematical properties of your propagation model and identify opportunities to reduce redundant computations across thousands of sources. Depending on the graph characteristics, I will evaluate approaches such as multi-source propagation, shared frontier processing, cached path relaxation, region partitioning, priority queue optimizations, and preprocessing techniques that preserve individual source contributions while significantly reducing computation time. My focus will be on algorithmic improvements rather than micro-level code optimization. I will profile the existing implementation, identify the computational bottlenecks, propose an optimized solution with complexity analysis, and implement a clean, well-documented version that produces identical results under your custom rules. If appropriate, I can also suggest alternative graph formulations that outperform repeated Dijkstra executions for large grids with thousands of active sources.
₹3,000 INR in 2 days
0.0
0.0

Hi! This is a great problem — essentially multi-source shortest-path-to-max-current propagation on a grid, and the performance bottleneck makes sense: running Dijkstra separately per source is O(sources × grid×log(grid)), which explodes fast at thousands of sources over 30k points. A few optimization directions I'd explore: (1) Multi-source Dijkstra with contribution tracking — instead of full separate runs, process all sources in one priority-queue pass, but track per-node contribution vectors only for the sources actually reaching non-negligible current there, pruning early once resistance decay makes a contribution insignificant. (2) Since current decays with resistance, most sources likely only meaningfully affect a local neighborhood — I'd add a decay-based cutoff radius per source so distant nodes skip computation entirely rather than running to grid exhaustion. (3) Spatial partitioning (grid chunking) so sources only compute against nearby chunks, recomputing chunk boundaries only when needed. I'd start by profiling where time is actually going (queue operations vs. redundant full-grid traversal) before committing to one approach, since the right fix depends heavily on how localized your resistance decay is in practice. Happy to prototype the decay-cutoff approach first as a quick proof-of-concept before a full rewrite.
₹2,000 INR in 2 days
0.0
0.0

Hi, your problem is an interesting variation of multi-source Dijkstra with resistance-based propagation. I'm an M.Sc. Data Science student at VIT Chennai and currently a Data Science Intern at Bosch, where I work on optimizing algorithms and analyzing complex datasets using Python. I'll first profile the existing implementation to identify bottlenecks, then explore optimizations such as multi-source propagation, graph pruning, caching, priority queue improvements, or alternative graph algorithms while preserving separate source contributions. I'll provide a well-documented, efficient solution with clear performance comparisons and reproducible code.
₹5,000 INR in 4 days
0.0
0.0

Hi, I have strong experience implementing and optimizing graph algorithms, including Dijkstra's algorithm, in Python and C++. Based on your description, this is not a standard shortest-path problem but a custom propagation system with object-specific resistance, 8-directional connectivity, and non-depleting current sources. I can: Analyze your custom rule system. Design an optimized Dijkstra/graph-based solution. Improve performance for large 2D grids. Provide clean, well-documented code and explain the algorithm. Before starting, I'd like to understand: How resistance affects current transfer. The grid size and expected performance. Whether updates occur in real time or in batches.
₹6,000 INR in 5 days
0.0
0.0

Pune, India
Member since Jul 24, 2026
₹100-400 INR / hour
₹600-610 INR
$15-25 USD / hour
$250-750 USD
min ₹2500 INR / hour
₹1500-12500 INR
₹1500-12500 INR
₹1500-12500 INR
$2-8 CAD / hour
₹1500-12500 INR
₹5000-30000 INR
₹750-1250 INR / hour
$10000-20000 CAD
$15-25 USD / hour
€30-250 EUR
$100-250 USD
₹12500-37500 INR
$750-1500 CAD
$10-30 USD
$30-250 USD