The idea behind hyper-heuristics is to discover some combination of straightforward heuristics to solve a wide range of problems. To be worthwhile, such a combination should outperform the single heuristics. This article presents a GA-based method that produces general hyper-heuristics that solve two-dimensional regular (rectangular) and irregular (convex polygonal) bin-packing problems. A hyper-heuristic is used to define a highlevel heuristic that controls low-level heuristics. The hyper-heuristic should decide when and where to apply each single low-level heuristic, depending on the given problem state. In this investigation two kinds of heuristics were considered: for selecting the figures (pieces) and objects (bins), and for placing the figures into the objects. Some of the heuristics were taken from the literature, others were adapted, and some other variations developed by us. We chose the most representative heuristics of their type, considering their individual performance in various studies and also in an initial experimentation on a collection of benchmark problems. The GA included in the proposed model uses a variable-length representation, which evolves combinations of condition-action rules producing hyper-heuristics after going through a learning process which includes training and testing phases. Such hyperheuristics, when tested with a large set of benchmark problems, produce outstanding results for most of the cases. The testbed is composed of problems used in other similar studies in the literature. Some additional instances for the testbed were randomly generated.