项目作者: nimobeeren

项目描述 :
Interactive visualization of algorithms for the load balancing problem
高级语言: Reason
项目地址: git://github.com/nimobeeren/algo-vis.git
创建时间: 2020-09-18T17:19:56Z
项目社区:https://github.com/nimobeeren/algo-vis

开源协议:MIT License

下载


Load Balancing Visualization ⚖️

The load balancing problem is about distributing jobs over machines in order to minimize the total processing time, which is called the makespan. This app lets you play with the inputs and visualizes the results of a few different algorithms designed to provide a solution this problem.

Unfortunately, an efficient algorithm that always gives an optimal solution does not exist. This is what is known as an NP-hard problem. My friend Henrique wrote an article on this topic, check it out! Each of the algorithms implemented here comes with a different trade-off between running time and approximation ratio. The greedy algorithms will run on large inputs, but their solutions will not be optimal. The brute force algorithm on the other hand will always be optimal, but you’ll quickly see running times rise until your browser crashes! 💣

This project was built using Reason, which is a functional-style programming language that feels a bit like JavaScript. Take a look at the implementation of the algorithms to see how it is different from normal JavaScript code. I had never done any functional programming before this project, which made this an interesting experience!