1. A computer implemented method, comprising: allocating, by a computer, a total executed quantity of an order for a product on a plurality of accounts of a customer, said allocating based on allocation instructions provided by the customer; constructing, by the computer, an initial solution; distributing executed prices associated with the total executed quantity of the order according to the initial solution; and iteratively improving said initial solution.