A bi-level optimization model for the asset-liability management of insurance companies