I need to create a Python function that generates optimal solutions for placing channel widths within a spectrum, minimizing frequency wastage. Let's consider the following spectrum:
This spectrum consists of channels/frequencies ranging from 1 to 30. Some channels marked in red are already in use...
The objective is to strategically place connections in the spectrum to achieve the maximum capacity with minimal wastage of timeslots/channels. For instance:
A connection with a width of 100 GHz requires 8 adjacent channels (depicted in blue). It's placed here as the first available 8 slots, resulting in a total capacity of 200 gigabytes.
Another connection with a width of 37.5 GHz needs 6 adjacent channels (depicted in yellow). It's positioned in the first available timeslot, providing a capacity of approximately 200 gigabytes.
The mapping of width to capacity is as follows:
- Connection width 100 GHz requires 16 channels, providing a capacity of 600 gigabytes.
- Connection width 87.5 GHz requires 14 channels, providing a capacity of 500 gigabytes.
- Connection width 75 GHz requires 12 channels, providing a capacity of 400 gigabytes.
- Connection width 62.5 GHz requires 10 channels, providing a capacity of 200 gigabytes.
- Connection width 50 GHz requires 8 channels, providing a capacity of 200 gigabytes.
- Connection width 37.5 GHz requires 6 channels, providing a capacity of 200 gigabytes.
How to have all the possible solutions to fullfill the full spectrum considering the max capacity and less wasted frequencies in python algo.
Thanks in advance