Optimization Frameworks For Fair Data-Driven Decision Making