The code that drives the price can be found in Mage_Catalog_Model_Product_Type_Price
public function getFinalPrice($qty=null, $product)
{
if (is_null($qty) && !is_null($product->getCalculatedFinalPrice())) {
return $product->getCalculatedFinalPrice();
}
$finalPrice = $product->getPrice();
$finalPrice = $this->_applyTierPrice($product, $qty, $finalPrice);
$finalPrice = $this->_applySpecialPrice($product, $finalPrice);
$product->setFinalPrice($finalPrice);
Mage::dispatchEvent('catalog_product_get_final_price', array('product'=>$product, 'qty' => $qty));
$finalPrice = $product->getData('final_price');
$finalPrice = $this->_applyOptionsPrice($product, $qty, $finalPrice);
return max(0, $finalPrice);
}
In _applyTierPrice
$finalPrice = min($finalPrice, $tierPrice);
and through _applySpecialPrice
$finalPrice = min($finalPrice, $specialPrice);
There are no options involved and it will return the minimum price.
In my view this also matches the expectation of the customer!
If you do want to change this behaviour you can observe the event
catalog_product_get_final_price and use $product->setData('final_price',X.YZ); to the value you want.
Best Answer
Magento takes the minimal value (lowest price) from the following calculated price variations
Reference as Marius says above, slide #9 from Ivan Chepurnyi (used to be part of the Magento Core Team so should know the correct answer!)