I am working on an optimization problem where I want to find resource-activity assignment based on skill restrictions (not all resources have all skills), resource restrictions (resources have a limited presence) and an assignment restriction limiting the number of resources assigned to an activity. I want to maximize the sum of weights of all selected activities. The model is depicted here:
Now I fed this into CPlex and it solves gigantic instances in a very short amount of time as long as I allow heuristics (1000 activities, 50 resources, 5 skills within about 10 sec).
Why is this problem so easy for CPlex? Is there some kind of easily solvable underlying problem that I am missing?
