( s ), ▁an ▁underlying ▁satisf icing ▁philosophy ▁is ▁assumed . ▁Go al ▁programming ▁is ▁used ▁to ▁perform ▁three ▁types ▁of ▁analysis : ▁ ▁Det erm ine ▁the ▁required ▁resources ▁to ▁achieve ▁a ▁desired ▁set ▁of ▁object ives . ▁ ▁Det erm ine ▁the ▁degree ▁of ▁att ain ment ▁of ▁the ▁goals ▁with ▁the ▁available ▁resources . ▁ ▁Prov iding ▁the ▁best ▁satisfying ▁solution ▁under ▁a ▁varying ▁amount ▁of ▁resources ▁and ▁prior ities ▁of ▁the ▁goals . ▁ ▁History ▁ ▁Go al ▁programming ▁was ▁first ▁used ▁by ▁Ch arn es , ▁Cooper ▁and ▁Fer g us on ▁in ▁ 1 9 5 5 , ▁although ▁the ▁actual ▁name ▁first ▁appeared ▁in ▁a ▁ 1 9 6 1 ▁text ▁by ▁Ch arn es ▁and ▁Cooper . ▁Sem inal ▁works ▁by ▁Lee , ▁Ign izio , ▁Ign izio ▁and ▁Caval ier , ▁ ▁and ▁Rom ero ▁ ▁followed . ▁Sch n ieder j ans ▁gives ▁in ▁a ▁bibli ography ▁of ▁a ▁large ▁number ▁of ▁pre - 1 9 9 5 ▁articles ▁rel ating ▁to ▁goal ▁programming , ▁and ▁Jones ▁and ▁Tam iz ▁give ▁an ▁annot ated ▁bibli ography ▁of ▁the ▁period ▁ 1 9 9 0 - 2 0 0 0 . ▁A ▁recent ▁text book ▁by ▁Jones ▁and ▁Tam iz ▁. ▁gives ▁a ▁compreh ensive ▁over view ▁of ▁the ▁state - of - the - art ▁in ▁goal ▁programming . ▁ ▁The ▁first ▁engineering ▁application ▁of ▁goal ▁programming , ▁due ▁to ▁Ign izio ▁in ▁ 1 9 6 2 , ▁was ▁the ▁design ▁and