They only go when their group is fully assembled. I'll open a good AI I have right now, so I can tell you better.
Okay, here goes. On the Attacking tab thingy, go to the top-left box. Right-click on the empty space and click "Add Group." Do it again, so you have two groups. Name one of them to "Minimum". The other can be called whatever you want.
Now, left-click once on the Minimum group and then on the top-right, add the minimum amount of units to go when attacking. For my AI, it's 1 hero and 4 grunts. They have no conditions.
Then go to the other group, and add in all of the units that will be avaliable to build. Set their quantity to "All". Again, no conditions.
Now go to the bottom-left box and right-click on the space and press "Add Wave". Name it whatever. Make it's Delay 0, if it isn't already. Underneath that, set the Minimum Forces box to your Minimum group.
Next, set the Initial Delay to 0 and the Repeats Waves to 1. Now, go on to the Target Priorities (bottom-right) and make it look like this.
Target | Conditions |
Common Alliance Target | None |
New Expansion Location | None |
Enemy - Major Assault | None |
Enemy - Expansion | None |
Enemy - Any Town | None |
Creep Camp (0-9) | None |
Creep Camp (10-100, flyers) | None |
Then save your AI, re-import into your map, and try it out. If you need to change anything, go back and change it. After all, it's your AI.
This is just from an AI which I know works, so I dunno if others do it differently or what.