Creating mixed groups

We have our annual company day next week where various things are discussed.

I’ve been asked to make a list of groups for the discussions. In the spirit of equality etc etc the groups should probably contain an equal amount of men and women. The different groups should contain representatives of all the different professional categories as well.

We have two discussion sessions and I also want to mix the groups up so that people wont have to work with the exact same group all day.

There’s only 30 of us so it’s not that hard to do manually.

But is there some kind of software that can do these types of sorting? Where you can enter the objects to be sorted, assign different characteristics to the objects and then sort them or randomise them based on some rules?