I think a worked example is best here. First, when I say range I mean a set of days in the month. A range could be simple, like the 12th through the 15th, which I wrote as {12-15}. It can be more complicated, like the 25th through the 2nd (wrapping around), which I wrote as {25-2}. It can be the entire month, which can be written many ways. One way is {1-31}. Another is {2-1}.

Say you have three bills: your internet bill (~$50), your rent (~$300; may be unrealistic :P), and your phone bill (~$100). Say you can move your internet bill to any day of the month, so you give it a range of {1-31}. Say rent has to be paid in the same 3 day interval each month, {14-16}. Finally, your phone bill can be moved a bit, but they like it near the first of the month. Give it a range of {25-5}.

Now, pick days in each of those ranges that you'll pay those bills on. I'm going to pick... (12, 14, 3), meaning internet on the 12th, rent on the 14th, and phone on the 3rd. Now, we know that pay periods happen in 14 day chunks. Let's see if we can make every *possible* 14 day chunk require about the same payments. What possible chunks are there? Say you get paid on the 1st and 15th. That gives a range of {1-14} between paychecks. Say you get paid on the 20th and again two weeks later on the... 20+14=34->3rd. This gives a range of {20-2}.

Here, you keep a list of all possible ranges:
Code:
{1-14}
{2-15}
{3-16}
{4-17}
...
{11-25}
{12-26}
{13-27}
{14-28}
{15-29}
{16-30}
{17-31}
{18-1}
{19-2}
{20-3}
{21-4}
...
{29-11}
{30-12}
{31-13}
For each range, you figure out how much you'd have to pay using your chosen pay schedule (again, (12th for $50, 14 for $300, 3 for $100)). For this example, it would be...

Code:
{1-14} -> $450
{2-15} -> $450
{3-16} -> $450
{4-17} -> $350
... -> $350 each (6 ranges)
{11-25} -> $350
{12-26} -> $350
{13-27} -> $300
{14-28} -> $300
{15-29} -> $0
{16-30} -> $0
{17-31} -> $0
{18-1} -> $0
{19-2} -> $0
{20-3} -> $100
{21-4} -> $100
... -> $100 each (7 ranges)
{29-11} -> $100
{30-12} -> $150
{31-13} -> $150
You'd then find the average amount spent over each possible range. Here, it's $6400 / 31 ranges = ~$206 / range. Now, you calculate the deviation from this ideal average. As I said there are several ways of doing this. A common one is to add the differences "in quadrature". I'll list the differences from ideal first:

Code:
{1-14} -> $244
{2-15} -> $244
{3-16} -> $244
{4-17} -> $144
... -> $144 each (6 ranges)
{11-25} -> $144
{12-26} -> $144
{13-27} -> $94
{14-28} -> $94
{15-29} -> -$206
{16-30} -> -$206
{17-31} -> -$206
{18-1} -> -$206
{19-2} -> -$206
{20-3} -> -$106
{21-4} -> -$106
... -> -$106 each (7 ranges)
{29-11} -> -$106
{30-12} -> -$56
{31-13} -> -$56
In quadrature, this is

Sqrt(244^2 + 244^2 + ... + (-56)^2) = Sqrt(713716).

This final number is what you want to make as small as possible. In fact, you can save a tiny bit of time by not taking the square root, since you're just interested in making it small. You can hopefully imagine randomly choosing a date in each of your bills' ranges, and calculating this overall variance. This is actually a valid method--you might get some nice result just by chance. The page I linked gives generic methods to solve this general type of problem--that is, you have some parameters that you can boil down into a single "fitness" number (your variance), and you want to find what combination of parameters gives you the lowest "fitness".

Note: please forgive computational mistakes in the above. I haven't double checked it.