Goal programming and extensions