These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

Science & Industry

 
  • Topic is locked indefinitely.
Previous page123Next page
 

All Industry Formulas for Crius - now with more Phoebe

First post
Author
Cilegon
Volicorp
#21 - 2014-08-14 21:05:48 UTC
sorry, i just mean to make a reference to where someone could get the data.

hmm, i guess everything here comes from the yaml file now, so it's just pointing to that.

When I wrote that, I forgot that I had used Des's yamltoSQL importer, so i still reference tables for this data.

So for instance, the base time for invention comes from the invBlueprintTypes table and the inventionTime field.

same with base production time, it's in the same table, just the productionTime field.

Perhaps this isn't so useful with everything being in the yaml file
Navaa Mar
Pator Tech School
Minmatar Republic
#22 - 2014-08-14 23:26:36 UTC
You are my hero, this is great!
Konpai
Kanpai Dansei
#23 - 2014-08-18 23:51:23 UTC
This is fantastic information! Thank you for pulling it together.
Destitute Tehol Beddict
Binary Trading
#24 - 2014-08-19 01:30:00 UTC  |  Edited by: Destitute Tehol Beddict
To get correct Reprocessing Results...

First Batch size is important

so we Have Q*(100%Reprocess)

Then we calculate waste.. Which is (1-Yield)*Q*(100%Refine) (You Round down when its <= x .5 and ) and Roundup when (>x .5)
Also calculate Refining Tax but you Round down tax amount when "<" x .5, and Roundup when >=x .5)

Ex. If Waste/Non-Recoverable material was 20.5 you waste would be 20, and if it was 20.51 waste would be 21.
Ex. If Tax on material was 20.5 tax would be 21, and if it was 20.49, tax would be 20.

Beware of floating point errors.

The rounding is for consistency your Return + Waste + Tax = Total Amount.

So the final result you get in game is Return = Q*100%Refine - Waste - Tax.

This avoids the results that Q*Baserefine =/= Game result.

Loot Buying service: https://forums.eveonline.com/default.aspx?g=posts&m=4529397#post4529397

Qoi
Exert Force
#25 - 2014-08-19 09:35:37 UTC
Yeah reprocessing is a bit wonky, because the "Unrecoverable" numbers ingame are completely wrong due to rounding issues and you get different results reprocessing in a POS or a NPC station because of rounding bugs. I didn't even know there are also floating point issues... it's a can of worms.

http://eve-industry.org

Psymia
Questionable Ethics.
Ministry of Inappropriate Footwork
#26 - 2014-08-20 09:22:18 UTC
Regarding the formula "Required Materials for Production Job":
I needed to round to 3 digits instead of 2 to get correct results for large batches (576 runs on POS fuel).
Qoi
Exert Force
#27 - 2014-08-20 16:28:13 UTC
Psymia wrote:
Regarding the formula "Required Materials for Production Job":
I needed to round to 3 digits instead of 2 to get correct results for large batches (576 runs on POS fuel).


That is very implausible, i think your rounding function is doing weird stuff. Can you be more specific? I just double checked this on TQ and it works as expected.

http://eve-industry.org

Psymia
Questionable Ethics.
Ministry of Inappropriate Footwork
#28 - 2014-08-21 07:17:37 UTC
Mistake in my sheet. Moved stuff a bit around. Now it works with rounded to 2.
It was:
=roundup(max(runs ,roundup(base_req * modifier, 3) * runs ))
Changed it to:
=max(runs, roundup(round(base_req * modifier * runs, 2)))
Medalyn Isis
Doomheim
#29 - 2014-08-23 00:32:52 UTC  |  Edited by: Medalyn Isis
Just to confirm, it is now possible for a T2 ship to use for instance, 2 T1 ships to make 1 T2 finished product. Is that correct? As using the given formula that seems to be the case.

Also, I haven't tried inventing any T2 BPCs yet, although I thought they were going to be ME 0 by default, although according to the pdf they are -2 ME. Is this correct?

Thanks very much for the good pdf also, nice info in there.
Steve Ronuken
Fuzzwork Enterprises
Vote Steve Ronuken for CSM
#30 - 2014-08-23 14:24:28 UTC  |  Edited by: Steve Ronuken
Medalyn Isis wrote:
Just to confirm, it is now possible for a T2 ship to use for instance, 2 T1 ships to make 1 T2 finished product. Is that correct? As using the given formula that seems to be the case.

Also, I haven't tried inventing any T2 BPCs yet, although I thought they were going to be ME 0 by default, although according to the pdf they are -2 ME. Is this correct?

Thanks very much for the good pdf also, nice info in there.



Two t1 ships for 1 T2 isn't possible. Less than one isn't possible either, as you need a minimum of the number of runs per item.

You start at 100%, and only reduce from there (other than the rapid equipment assembly array adding 5% waste. But it can't do ships)

T2 Blueprints from invention start at ME 2, so the lowest they'll go is ME 0, with an Augmentation decryptor.



I suspect you misread the function for the number of things needed. The 2 in it is an argument for the round function. It's rounded to 2 decimal places, before it's handed to the ceil function. This is to prevent a nasty little floating point error that sometimes crops up. Floating point math is nasty, and sometimes leads to something which should be a whole number actually having a .000000000000001 added to it. Rounding it to 2 decimal places eliminates that, and stops it being raised to the next whole number.

Woo! CSM XI!

Fuzzwork Enterprises

Twitter: @fuzzysteve on Twitter

Qoi
Exert Force
#31 - 2014-08-23 16:06:11 UTC  |  Edited by: Qoi
Medalyn Isis wrote:
Just to confirm, it is now possible for a T2 ship to use for instance, 2 T1 ships to make 1 T2 finished product. Is that correct? As using the given formula that seems to be the case.

Also, I haven't tried inventing any T2 BPCs yet, although I thought they were going to be ME 0 by default, although according to the pdf they are -2 ME. Is this correct?

Thanks very much for the good pdf also, nice info in there.


When i say ME -2% TE -4% i mean that the blueprint reduces the materials by 2% and the build time by 4%. This has nothing to do with the old negative ML/PL values. With the definition of "level" from the PDF this would be a ME level 2, TE level 2 blueprint (each ME level reduces the material requirements by 1%, each TE level reduces the build time by 2%). Blueprints can only have levels from 0 to 10, including copies produced by invention.

http://eve-industry.org

Qoi
Exert Force
#32 - 2014-08-23 18:17:30 UTC
I added a few things to the reprocessing section, including a sentence about rounding:

The reprocessing output is obtained by multiplying the reprocessing rate with the base material amounts and then rounding down (POS) or rounding to next integer (Station).

I did some quick testing on Singularity and that is what i found, if someone has more accurate information please tell :)

http://eve-industry.org

Creepin
Yellow Flamingo
#33 - 2014-08-30 14:24:06 UTC  |  Edited by: Creepin
First of all, thanks for your excellent pdf, this is pretty much the only source on Crius manufacture around.

However, I'm a bit confused by your formula for materials required and would appreciate some clarification. Here's what I'm confused about in your formula required=max(runs,ceil(round(runs*baseQuantity*materialModifier,2)):
- it seem to me that ",2" part is redundant as there's no way the result of runs*baseQuantity*materialModifier could have more than 2 digits after comma anyway;
- why ceil(round(X,2))? It seem to me that simple ceil(X) (or roundup if in excel) will yield totally same result (within the range of what's possible in eve manufacturing, obviously: it might work differently for negative values, but this is not the case here).

Or did I miss something?
Steve Ronuken
Fuzzwork Enterprises
Vote Steve Ronuken for CSM
#34 - 2014-08-30 17:31:44 UTC  |  Edited by: Steve Ronuken
Creepin wrote:
First of all, thanks for your excellent pdf, this is pretty much the only source on Crius manufacture around.

However, I'm a bit confused by your formula for materials required and would appreciate some clarification. Here's what I'm confused about in your formula required=max(runs,ceil(round(runs*baseQuantity*materialModifier,2)):
- it seem to me that ",2" part is redundant as there's no way the result of runs*baseQuantity*materialModifier could have more than 2 digits after comma anyway;
- why ceil(round(X,2))? It seem to me that simple ceil(X) (or roundup if in excel) will yield totally same result (within the range of what's possible in eve manufacturing, obviously: it might work differently for negative values, but this is not the case here).

Or did I miss something?



What you missed was floating point math. Because when you have fractions involved, there's a small tendency to have results which end in .000000000000000001. Which is enough to make the ceil() take it to the next integer.


An example:

http://www.wolframalpha.com/input/?i=ceiling%28104*0.9*60%29


http://www.wolframalpha.com/input/?i=ceiling%28104*60*0.9%29


(bah. The links don't work right. if you copy and paste, they should do)

For an explanation:
http://www.youtube.com/watch?v=PZRI1IfStY0

Woo! CSM XI!

Fuzzwork Enterprises

Twitter: @fuzzysteve on Twitter

Creepin
Yellow Flamingo
#35 - 2014-08-30 20:21:25 UTC  |  Edited by: Creepin
Steve Ronuken, thanks a lot! I'm trying to understand your explanation now, fruitless so far Lol

1. Am I right interpreting your answer as the statement that when eve engine coming up with manufacturing quotes, it uses raw binary results for an output without converting it into a correct decimal value beforehead, so that when binary math tells that 2*7 tritanium is actually 14,000000000000000000001, it rounds it up to 15?
2. Your examples are quite unsettling :) Does this binary maths voids the rule that changing order of multipliers should provide the same results?
3. Now, even if 1 & 2 are true, I've checked ceil function implementation in both excel & openoffice, and there were no hints that it takes into consideration this floating point (that occasional 0.00000001 from your answer), same true for roundmax. I also tried to simulate you example of ceiling(104*0.9*60)=5617 in Excel via both ceiling(104*0.9*60) & ceiling.math(104*0.9*60) (because I didn't understand the differenceRoll), but both formulas provided me with 5616, as it should in decimal math. Should I interpret this result as a sign that while I need to take floating point into consideration, Excel doesn't give me such opportunity, or that I used wrong formula? If latter, which is the correct one?
Steve Ronuken
Fuzzwork Enterprises
Vote Steve Ronuken for CSM
#36 - 2014-08-30 20:33:48 UTC
You won't find it happening, when you're dealing with integers. Only when you're dealing with floating point numbers. It's because representing them is more difficult than it seems.

A metaphor:

you know that one third, multiplied by 3, is 1.

But representing one third is difficult. If you try to write it, you'll write 0.333333333333 and on and on. But if you stop writing it, then multiply it by 3, you'll get 0.99999999999999999999

If you try to get round that with 0.333333333333334, you'll get a number that's just above 1.

That's pretty much the problem that the computer has.

You see it far more often with programming languages, because they don't try and make things easy on you. Applications like Excel add in logic to 'deal' with it. Probably by just checking for that 0.0000000000000000000001

Woo! CSM XI!

Fuzzwork Enterprises

Twitter: @fuzzysteve on Twitter

Creepin
Yellow Flamingo
#37 - 2014-08-30 20:44:45 UTC
Steve Ronuken wrote:
You see it far more often with programming languages, because they don't try and make things easy on you. Applications like Excel add in logic to 'deal' with it. Probably by just checking for that 0.0000000000000000000001
Yep, I watched the video you kindly provided, so I figured this much. But then, if Excel applies additional logic to revert binary results to what we expect in decimal maths, is there a way to correctly simulate in Excel Eve engine calculations that use raw binary maths as results?
Steve Ronuken
Fuzzwork Enterprises
Vote Steve Ronuken for CSM
#38 - 2014-08-30 20:50:11 UTC
Creepin wrote:
Steve Ronuken wrote:
You see it far more often with programming languages, because they don't try and make things easy on you. Applications like Excel add in logic to 'deal' with it. Probably by just checking for that 0.0000000000000000000001
Yep, I watched the video you kindly provided, so I figured this much. But then, if Excel applies additional logic to revert binary results to what we expect in decimal maths, is there a way to correctly simulate in Excel Eve engine calculations that use raw binary maths as results?



That's what the round(,2) is there for. It just eliminates the 0.00000001

Woo! CSM XI!

Fuzzwork Enterprises

Twitter: @fuzzysteve on Twitter

Creepin
Yellow Flamingo
#39 - 2014-08-30 21:04:24 UTC  |  Edited by: Creepin
Steve Ronuken wrote:
That's what the round(,2) is there for. It just eliminates the 0.00000001

Gah! So, all this time you were explaning to me why there is Round(,2), while I was thinking you're explaining why there is Ceiling! God I feel stupid! Well thanks a lot for bearing with me :)
Qoi
Exert Force
#40 - 2014-09-11 17:02:16 UTC
I added the information about the new invention system to the PDF, i will update it as more information becomes available.

http://eve-industry.org

Previous page123Next page