Presentation is loading. Please wait.

Presentation is loading. Please wait.

Bill Payment Optimization Algorithms. Purpose To find and/or construct algorithms that will optimize the decision process of paying bills from an account.

Similar presentations


Presentation on theme: "Bill Payment Optimization Algorithms. Purpose To find and/or construct algorithms that will optimize the decision process of paying bills from an account."— Presentation transcript:

1 Bill Payment Optimization Algorithms

2 Purpose To find and/or construct algorithms that will optimize the decision process of paying bills from an account that does not have the money required to pay all bills.

3 Formal Definition of Solution Considered optimized when paying bills in suggested order is completed resulting in the highest balance possible left in the account balance. a = balance in monetary unit b = sum or total of bills needed to be payed in monetary unit n = number of bills in b c = bill each bill exists in b such that c 1 …… c n-1 + c n = b Perfect situation is that b remains a subset of a. set of d = each element of b that is not in a for all possible solutions. {d 1, d 2,……,d n-1, d n } Optimized solution is found when the cardinality of d for a particular solution is ≤ the cardinality of all other possible solutions.

4 Algorithms We Used Insertion Sort Path Finding Algorithm

5 Insertion Sort

6 Insertion Sort Example List = [4,5,6,2,3,7,2,1,7,8] InsertionSort(List) 4 5 6 2 3 7 2 1 7 8 2 4 5 6 3 7 2 1 7 8 2 3 4 5 6 7 2 1 7 8 2 2 3 4 5 6 7 1 7 8 1 2 2 3 4 5 6 7 7 8

7 Path Finding Each node is a possible solution. Each edge is a bill that could be paid. The bill’s weight (edge weight) determines whether it can be paid with the balance left in the account. Goal: to visit the most nodes with balance available

8 Path Finding

9 Path Finding Example

10 Attempt #1 Multiple Insertion Sorts Attempt #1 Multiple Insertion Sorts 1.We sorted bill list by each attribute. (amount, late fee, due date, critical date, credit effect, need of service) 2.Each time a sorted list of bills is created, the rating of each bill (1 to n) is appended to each bill’s list of ratings. 3.The sum of each bill’s list of ratings is divided by it’s length to get the average rating. 4.The bills are then sorted by their average rating to determine the order in which to pay them.

11 Attempt #1 Problems This attempt was purely a system that rated the bills regarding their importance through the weighting system we developed. This created a valid list of importance but did not compute the optimal solution due to the fact that it disregarded the balance from which the bills are being paid.

12

13 Added to Attempt #1 by using the list of bills that are sorted by average rating Allowed us to test how close Attempt #1 was to being optimized by comparing which bills would be paid for either algorithm Attempt #2 was an improvement. Attempt #2 Path Finding

14 1.start at index 0 2.verify if bill at index can be paid by checking if the amount of the bill is less than or equal to the available balance in the account. 1.if it can be paid, add to list paid bills 1.add weight of bill to weightRemoved variable 2.else, iterate to next bill and repeat 3.if weightRemaining(totalListWeight - weightRemoved) is less than previous stored value 1.Store weightRemaining as indicator of optimized list thus far 4.index ++

15

16 Improved Attempt #2 Create list of indices Shuffle list of indices Implement path finding algorithm with index[0] of shuffled list of indices index ++ Attempt #3 Randomized Path Finding

17 * http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle

18 Testing


Download ppt "Bill Payment Optimization Algorithms. Purpose To find and/or construct algorithms that will optimize the decision process of paying bills from an account."

Similar presentations


Ads by Google