In Innotas, a resource has one primary role and potentially a secondary role. The PPA engine looks at all roles and will potentially allocate a resource to any role he or she has in order to include a project and increase the value of the scenario result. There is no distinction made between primary and secondary roles for PPA.
An important thing to remember is that capacity ultimately comes from resources, not roles. Where this comes into play is when interpreting the residual capacity returned by the engine when resources can play multiple roles. Residual capacity will be correct for any given role individually. Having a value for residual capacity helps to identify which roles are the limiting factor in your optimization and to see how efficiently you are using various roles. To see the total residual capacity across the entire scenario (computed by summing the residual capacity of each individual resource), view the Scorecard tab.
For example, let's say resource "J.J. Watt" has role "Defensive End" and "Wide Receiver" and has capacity of 40 hours in some week. Each role has the correct available capacity when considered individually. The 40 hours is included in both roles.
However, let's say that J.J. Watt gets allocated for 30 hours in project "Practice" in that week, the available capacity remaining for other projects becomes 10 hours in both "Defensive End" and "Wide Receiver". If J.J. Watt isn't allocated to any other projects in that week, this will become 10 hours of residual capacity in both roles. The correct way to interpret this is that you have 10 hours of unused capacity in either "Defensive End" or "Wide Receiver" (but not both at the same time).
The total residual capacity shown on the scorecard would be 10.