Specially in the case of scenarios under uncertainty, the efficient management of risk when matching assets and liabilities is a relevant issue for most insurance companies. This paper considers such a scenario, where different assets can be aggregated to better match a liability (or the other way around), and the goal is to find the asset-liability assignments that maximises the overall benefit over a time horizon. To solve this stochastic optimisation problem, a simulation-optimisation methodology is proposed. We use integer programming to generate efficient asset-to-liability assignments, and Monte-Carlo simulation is employed to estimate the risk of failing to pay due liabilities. The simulation results allow us to set a safety margin parameter for the integer program, which encourage the generation of solutions satisfying a minimum reliability threshold. A series of computational experiments contribute to illustrate the proposed methodology and its utility in practical risk management.