Cooperative and noncooperative multi-level programming : concepts, systems, algorithms and case studies (2009)