Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatic song ordering #14

Open
DavidResin opened this issue Apr 7, 2019 · 3 comments
Open

Automatic song ordering #14

DavidResin opened this issue Apr 7, 2019 · 3 comments
Assignees
Labels
enhancement New feature or request main This is a main feature that warrants its own release

Comments

@DavidResin
Copy link
Owner

DavidResin commented Apr 7, 2019

Need a method to order songs optimally in order to minimize empty space in pages and avoid spreading songs on multiple pages. Similar to the rod cutting problem but not exactly the same.

@DavidResin DavidResin added enhancement New feature or request main This is a main feature that warrants its own release labels Apr 7, 2019
@DavidResin DavidResin added this to the v0.4 "Optimizer" milestone Apr 8, 2019
@DavidResin
Copy link
Owner Author

Idea for the code:

def get_fits(song_list, page_len):
    fits = # all song combinations that fit in page_len
    grps = # [(f, song_list \ f) for f in fits]
    return groups
    
# Build tree with each g in groups as a leaf of song_list, then we can use the tree to find the best fit

@DavidResin DavidResin self-assigned this Apr 8, 2019
@DavidResin
Copy link
Owner Author

May be useful to measure the size of elements : https://stackoverflow.com/questions/2939450/get-height-on-a-block-of-latex-output

@DavidResin
Copy link
Owner Author

Bin packing problem, optimal rectangle packing

https://en.wikipedia.org/wiki/Bin_packing_problem

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request main This is a main feature that warrants its own release
Projects
None yet
Development

No branches or pull requests

1 participant