Optimising social welfare in practical cooperative settings