instance manufacturer_inst_mdp__16 {
    domain = manufacturer_mdp;

    objects {
        good : { g0000, g0001, g0002, g0003, g0004, g0005, g0006, g0100, g0101, g0102, g0103, g0104, g0105, g0200, g0201, g0202, g0203, g0300, g0301, g0302, g0400, g0401 };
    };
 
    non-fluents {
        // PROCESSED_TO
        PROCESSED_TO(g0002, g0100);
        PROCESSED_TO(g0000, g0101);
        PROCESSED_TO(g0002, g0101);
        PROCESSED_TO(g0002, g0102);
        PROCESSED_TO(g0006, g0103);
        PROCESSED_TO(g0002, g0103);
        PROCESSED_TO(g0005, g0104);
        PROCESSED_TO(g0004, g0104);
        PROCESSED_TO(g0000, g0104);
        PROCESSED_TO(g0001, g0105);
        PROCESSED_TO(g0002, g0105);
        PROCESSED_TO(g0004, g0105);
        PROCESSED_TO(g0104, g0200);
        PROCESSED_TO(g0100, g0200);
        PROCESSED_TO(g0105, g0201);
        PROCESSED_TO(g0100, g0201);
        PROCESSED_TO(g0003, g0202);
        PROCESSED_TO(g0105, g0202);
        PROCESSED_TO(g0003, g0203);
        PROCESSED_TO(g0102, g0203);
        PROCESSED_TO(g0203, g0300);
        PROCESSED_TO(g0100, g0301);
        PROCESSED_TO(g0202, g0301);
        PROCESSED_TO(g0203, g0302);
        PROCESSED_TO(g0200, g0302);
        PROCESSED_TO(g0006, g0400);
        PROCESSED_TO(g0300, g0400);
        PROCESSED_TO(g0103, g0401);
        PROCESSED_TO(g0302, g0401);


        // PRICES
        PRICE(g0000) = 16;
        PRICE(g0001) = 24;
        PRICE(g0002) = 25;
        PRICE(g0003) = 24;
        PRICE(g0004) = 15;
        PRICE(g0005) = 18;
        PRICE(g0006) = 25;
        PRICE(g0100) = 33;
        PRICE(g0101) = 58;
        PRICE(g0102) = 30;
        PRICE(g0103) = 80;
        PRICE(g0104) = 100;
        PRICE(g0105) = 118;
        PRICE(g0200) = 197;
        PRICE(g0201) = 217;
        PRICE(g0202) = 225;
        PRICE(g0203) = 95;
        PRICE(g0300) = 119;
        PRICE(g0301) = 418;
        PRICE(g0302) = 459;
        PRICE(g0400) = 234;
        PRICE(g0401) = 991;


        // PRICE TRENDS
        PRICE_TREND_CHANGE_PROB(g0000) = 0.14;
        PRICE_TREND_CHANGE_PROB(g0001) = 0.01;
        PRICE_TREND_CHANGE_PROB(g0002) = 0.07;
        PRICE_TREND_CHANGE_PROB(g0003) = 0.02;
        PRICE_TREND_CHANGE_PROB(g0004) = 0.06;
        PRICE_TREND_CHANGE_PROB(g0005) = 0.05;
        PRICE_TREND_CHANGE_PROB(g0006) = 0.04;
        PRICE_TREND_CHANGE_PROB(g0100) = 0.01;
        PRICE_TREND_CHANGE_PROB(g0101) = 0.06;
        PRICE_TREND_CHANGE_PROB(g0102) = 0.08;
        PRICE_TREND_CHANGE_PROB(g0103) = 0.09;
        PRICE_TREND_CHANGE_PROB(g0104) = 0.02;
        PRICE_TREND_CHANGE_PROB(g0105) = 0.10;
        PRICE_TREND_CHANGE_PROB(g0200) = 0.05;
        PRICE_TREND_CHANGE_PROB(g0201) = 0.06;
        PRICE_TREND_CHANGE_PROB(g0202) = 0.14;
        PRICE_TREND_CHANGE_PROB(g0203) = 0.05;
        PRICE_TREND_CHANGE_PROB(g0300) = 0.01;
        PRICE_TREND_CHANGE_PROB(g0301) = 0.01;
        PRICE_TREND_CHANGE_PROB(g0302) = 0.04;
        PRICE_TREND_CHANGE_PROB(g0400) = 0.11;
        PRICE_TREND_CHANGE_PROB(g0401) = 0.11;


        // PRICE_LEVEL_FACTORS
        PRICE_LEVEL_FACTOR(@level1) = 0.5;
        PRICE_LEVEL_FACTOR(@level2) = 0.6667;
        PRICE_LEVEL_FACTOR(@level3) = 0.8333;
        PRICE_LEVEL_FACTOR(@level4) = 1.0;
        PRICE_LEVEL_FACTOR(@level5) = 1.1667;
        PRICE_LEVEL_FACTOR(@level6) = 1.3333;
        PRICE_LEVEL_FACTOR(@level7) = 1.5;


        // PRICE_LEVEL_PROBS
        PRICE_LEVEL_PROB(@level1, @level1, @down) = 1.0;
        PRICE_LEVEL_PROB(@level1, @level2, @down) = 0.2;
        PRICE_LEVEL_PROB(@level2, @level2, @down) = 0.8;
        PRICE_LEVEL_PROB(@level2, @level3, @down) = 0.2;
        PRICE_LEVEL_PROB(@level3, @level3, @down) = 0.8;
        PRICE_LEVEL_PROB(@level3, @level4, @down) = 0.2;
        PRICE_LEVEL_PROB(@level4, @level4, @down) = 0.8;
        PRICE_LEVEL_PROB(@level4, @level5, @down) = 0.2;
        PRICE_LEVEL_PROB(@level5, @level5, @down) = 0.8;
        PRICE_LEVEL_PROB(@level5, @level6, @down) = 0.2;
        PRICE_LEVEL_PROB(@level6, @level6, @down) = 0.8;
        PRICE_LEVEL_PROB(@level6, @level7, @down) = 0.2;
        PRICE_LEVEL_PROB(@level7, @level7, @down) = 0.8;

        PRICE_LEVEL_PROB(@level1, @level1, @stable) = 0.9;
        PRICE_LEVEL_PROB(@level1, @level2, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level2, @level1, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level2, @level2, @stable) = 0.8;
        PRICE_LEVEL_PROB(@level2, @level3, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level3, @level2, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level3, @level3, @stable) = 0.8;
        PRICE_LEVEL_PROB(@level3, @level4, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level4, @level3, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level4, @level4, @stable) = 0.8;
        PRICE_LEVEL_PROB(@level4, @level5, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level5, @level4, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level5, @level5, @stable) = 0.8;
        PRICE_LEVEL_PROB(@level5, @level6, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level6, @level5, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level6, @level6, @stable) = 0.8;
        PRICE_LEVEL_PROB(@level6, @level7, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level7, @level6, @stable) = 0.1;
        PRICE_LEVEL_PROB(@level7, @level7, @stable) = 0.9;

        PRICE_LEVEL_PROB(@level1, @level1, @up) = 0.8;
        PRICE_LEVEL_PROB(@level2, @level1, @up) = 0.2;
        PRICE_LEVEL_PROB(@level2, @level2, @up) = 0.8;
        PRICE_LEVEL_PROB(@level3, @level2, @up) = 0.2;
        PRICE_LEVEL_PROB(@level3, @level3, @up) = 0.8;
        PRICE_LEVEL_PROB(@level4, @level3, @up) = 0.2;
        PRICE_LEVEL_PROB(@level4, @level4, @up) = 0.8;
        PRICE_LEVEL_PROB(@level5, @level4, @up) = 0.2;
        PRICE_LEVEL_PROB(@level5, @level5, @up) = 0.8;
        PRICE_LEVEL_PROB(@level6, @level5, @up) = 0.2;
        PRICE_LEVEL_PROB(@level6, @level6, @up) = 0.8;
        PRICE_LEVEL_PROB(@level7, @level6, @up) = 0.2;
        PRICE_LEVEL_PROB(@level7, @level7, @up) = 1.0;


        // FACTORY
        MAX_NUM_FACTORIES = 4;
        BUILD_FACTORY_COST(g0000) = 0;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0000) = 0.00;
        BUILD_FACTORY_COST(g0001) = 0;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0001) = 0.00;
        BUILD_FACTORY_COST(g0002) = 0;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0002) = 0.00;
        BUILD_FACTORY_COST(g0003) = 0;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0003) = 0.00;
        BUILD_FACTORY_COST(g0004) = 0;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0004) = 0.00;
        BUILD_FACTORY_COST(g0005) = 0;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0005) = 0.00;
        BUILD_FACTORY_COST(g0006) = 0;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0006) = 0.00;
        BUILD_FACTORY_COST(g0100) = 56;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0100) = 0.47;
        BUILD_FACTORY_COST(g0101) = 51;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0101) = 0.07;
        BUILD_FACTORY_COST(g0102) = 47;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0102) = 0.22;
        BUILD_FACTORY_COST(g0103) = 51;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0103) = 0.20;
        BUILD_FACTORY_COST(g0104) = 56;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0104) = 0.05;
        BUILD_FACTORY_COST(g0105) = 46;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0105) = 0.14;
        BUILD_FACTORY_COST(g0200) = 90;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0200) = 0.38;
        BUILD_FACTORY_COST(g0201) = 80;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0201) = 0.17;
        BUILD_FACTORY_COST(g0202) = 93;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0202) = 0.38;
        BUILD_FACTORY_COST(g0203) = 93;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0203) = 0.02;
        BUILD_FACTORY_COST(g0300) = 134;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0300) = 0.49;
        BUILD_FACTORY_COST(g0301) = 171;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0301) = 0.27;
        BUILD_FACTORY_COST(g0302) = 121;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0302) = 0.32;
        BUILD_FACTORY_COST(g0400) = 181;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0400) = 0.42;
        BUILD_FACTORY_COST(g0401) = 0;
        PROB_CONSTRUCTION_DELAY_FACTORY(g0401) = 0.00;


        // STAFF
        // instance with marketing manager
        SALARY_MARKETING_MANAGER = 5;
        PROB_MARKETING_MANAGER_APPLIES = 0.05;
        MARKETING_MANAGER_BONUS = 0.70;

        // instance with lobbyist
        SALARY_LOBBYIST = 6;
        PROB_LOBBYIST_APPLIES = 0.64;
        LOBBYIST_BONUS = 0.18;

        // instance without production manager
        SALARY_PRODUCTION_MANAGER = 0;
        PROB_PRODUCTION_MANAGER_APPLIES = 0;

    };

    init-state {
        have-factory(g0401);

        price-trend(g0000) = @stable;
        price-trend(g0001) = @stable;
        price-trend(g0002) = @stable;
        price-trend(g0003) = @stable;
        price-trend(g0004) = @down;
        price-trend(g0005) = @down;
        price-trend(g0006) = @stable;
        price-trend(g0100) = @stable;
        price-trend(g0101) = @down;
        price-trend(g0102) = @down;
        price-trend(g0103) = @stable;
        price-trend(g0104) = @stable;
        price-trend(g0105) = @stable;
        price-trend(g0200) = @stable;
        price-trend(g0201) = @stable;
        price-trend(g0202) = @stable;
        price-trend(g0203) = @stable;
        price-trend(g0300) = @up;
        price-trend(g0301) = @stable;
        price-trend(g0302) = @stable;
        price-trend(g0400) = @stable;
        price-trend(g0401) = @stable;
        
    };

    horizon = 70;

    discount = 1.0;
}