Inversely Related Attributes

This forum is for posts that specifically focus on the Windows desktop version of Ngene (i.e. all version 1.x releases).

Moderators: Andrew Collins, Michiel Bliemer, johnr

Post Reply
zeynepc
Posts: 1
Joined: Tue Aug 27, 2024 7:39 pm

Inversely Related Attributes

Post by zeynepc »

I have a syntax with an interaction term over the attributes Distance and Price. It is known with certainty that these two attributes are inversely proportional to each other , it is not possible to increase them at the same time. How can we integrate this information to the given syntax to eliminate dominated alternatives from the output?


Design
;alts = alt1, alt2
;rows = 18
;eff = (mnl,d)
;block = 3
;model:
U(alt1) = b1[-0.5] * Price[5,10,20,30] + b2[-0.4] * Distance[0,50,100,200] + b3[0.1] * EmissionSaving[0,20, 40] + b4 * Price * Distance /
U(alt2) = b1 * Price + b2 * Distance + b3 * EmissionSaving + b4 * Price * Distance $
Michiel Bliemer
Posts: 2055
Joined: Tue Mar 31, 2009 4:13 pm

Re: Inversely Related Attributes

Post by Michiel Bliemer »

You will need to add an asterisk (*) in the alts property to identify that both alternatives are of the same type, then Ngene will automatically detect and remove dominant alternatives. Note that your design has only a few attributes and is therefore quite constrained due to dominance checks and the default swapping algorithm will struggle finding designs without dominant alternatives. In the script below I switched to the modified Federov algorithm and added some attribute level constraints.

Code: Select all

Design
;alts = alt1*, alt2*
;rows = 18
;eff = (mnl,d)
;alg = mfederov
;block = 3
;model:
U(alt1) = b1[-0.5] * Price[5,10,20,30](3-6,3-6,3-6,3-6) 
        + b2[-0.4] * Distance[0,50,100,200](3-6,3-6,3-6,3-6)
        + b3[0.1]  * EmissionSaving[0,20,40](4-8,4-8,4-8)
        + b4       * Price * Distance 
        /
U(alt2) = b1       * Price 
        + b2       * Distance 
        + b3       * EmissionSaving 
        + b4       * Price * Distance 
$
Interaction effects like Price * Distance are not checked for dominance, and is perhaps also not what you are looking for as it does not describe that they are inversely proportional. Perhaps you are referring to constraints? You could impose constraints, such as:

;reject:
alt1.price = 5 and alt1.distance = 0,
alt1.price = 10 and alt1.distance = 0,
alt1.price = 10 and alt1.distance = 50
...etc

Michiel
Post Reply