Your option is suitable but not for me.
I have different beds (about 10pcs)
each has 3 sizes (140, 160, 180)
The cost of these sizes in each bed is different.
It seems this is where I am misunderstanding you. The plugin is written is to assume that size is an attribute, and that one of those sizes will be the least expensive. The other two sizes are some amount more than the least expensive one. So, if 140 is the least expensive and 180 is the most expensive, then 180 simply cost ‘x’ amount more than 140, and that is the markup.
However, you may be telling me that each bed type costs a different amount. So, just assuming that 180 beds cost some flat amount more than 140 beds is not suitable. If this is the case, then can I suggest a percentage markup? If 180 beds always cost about 50% than 140 beds, regardless of the bed type, then the markup would be 50%. That way, if b1-140-a is $100, then b1-180-a would be $150. If b2-140-a is $150, then b2-180-a would be $225.
That may not work for you either, depending on how you calculate your prices. But I thought I’d toss it out there and see if it is any help.