Faculty of Chemistry and Chemical Engineering University of Maribor, Slovenia Modeling and optimization of processes of bioethanol production with Mixed Integer Process SYNthesizer MIPSYN Lidija Čuček, Zdravko Kravanja Summer Workshop, Veszprém 2009 WHY BIOETHANOL ?? 1. Fossil fuels are non-renewable 2. Growing concern about global warming 3. Possible disruption in oil supply 4. Alternative to gasoline, renewable energy 5. The most important long-term objectives of the European Union and United States in the energy sector are: - Achieving independence of fossil fuel energy supplies - Achieving substantial improvement of energy efficiency of the whole supply chain from production, distribution, to consumption, while minimizing emissions and waste - Achieving 20 % increase in the share of renewable energy (RES) by 2020 - The share of renewable energy in all modes of transport has to be at least 10 % by 2020 Summer Workshop, Veszprém 2009 RAW MATERIALS Bioethanol can be produced by fermentation of: -Sugars (molasses), -Starchy raw materials (corn, potato) - Lignocellulose (wood, agricultural residues, municipal solid waste) First-generation biofuels: produced by fermentation of plants containing starch or sugar. This production has a lot of downsides: plants are mainly food crops, affection of the supply of population with food products, limited quantity, affecting biodiversity, may cause more GHG than fossil fuels, using chemicals for plant production, impact on drinking water supply,... Second-generation biofuels: produced by fermentation of lignocelluloses (agricultural residues, forestry waste, fast-growing energy crops...). Many technical and economic issues related to their use before 2020. Third-generation biofuels: produced from algae, sigle-celled aquatic organisms. Summer Workshop, Veszprém 2009 OUR GOAL Problems with using bioethanol: - Usage requires modifications to the engines - Consumption in engines is about 51 % higher compared to gasoline - Costs for bioethanol production are very high (investment, costs of raw materials , etc.) Therefore it is necessary to develop effective, economical and environment friendly technologies of bioethanol production. Consumption of raw materials, energy and water should be very carefully analyzed, planed and optimized. Development and application of optimization methods are becoming necessary in the technique. Goal: Detailed synthesis and optimization of various production processes of bioethanol production from different raw materials. Summer Workshop, Veszprém 2009 GENERAL OVERVIEW OF WORK Modeling and optimization was performed for ethanol production from: - starchy raw materials (corn, potato), dry milling process - sugars (molasses), direct fermentation - lignocelluloses: i) from corn stover, acid prehydrolysis and enzymatic hydrolysis ii) from wheat straw, ammonia fiber explosion (AFEX) and iii) from wood chips, gasification and subsequent fermentation of the produced syngas Superstructures of the processes are modeled as MINLP problems, which include both discrete (topology) and continuous variables (operating conditions, dimensions of the process units). Synthesis was caried out with and without heat integration. Different alternatives with respect to the separation of solids and liquids and alternatives to the dehydration of ethanol. Summer Workshop, Veszprém 2009 STARCH-BASED PROCESS Summer Workshop, Veszprém 2009 SUGAR-BASED PROCESS Summer Workshop, Veszprém 2009 ACID PREHYDROLYSIS PROCESS Summer Workshop, Veszprém 2009 AFEX PROCESS Summer Workshop, Veszprém 2009 THERMOCHEMICAL PROCESS Summer Workshop, Veszprém 2009 MIPSYN Optimization was performed with equation-oriented process synthesizer MIPSYN. • package performs MINLP optimization on superstructures for process flowsheet • enables automated execution of simultaneous topology and parameter optimization of processes Modified OA/ER algorithm and modeling and decomposititon (M/D) strategy • The computer package MIPSYN enabled us to optimize the chemical processes Processes producing fuel ethanol from biomass are biochemical processes. Completion of MIPSYN’s library PROSLIB with modules for synthesis of the biochemical processes Summer Workshop, Veszprém 2009 MODUL - WASHER * * * =========================== = WASHING = =========================== EQUATIONS WASHWA(WASH,COMPON) TOTAL STREAM OF WASHING WATER WASHCB(WASH,COMPON) COMPONENT BALANCE AT WASHING WASHT(IN,WASH) INLET TEMPERATURE RELATION AT WASHING WASHP(IN,WASH) INLET PRESSURE RELATION AT WASHING WASHSIZE(WASH) SIZE VARIABLE ; WASHWA(WASH,COMPON)$EXIST(WASH).. F('IN-2',WASH) =E= WASHMIN*WASHFRAC*F('IN-1',WASH); WASHCB(WASH,COMPON)$EXIST(WASH).. FC('OUT-1',WASH,COMPON) =E= SUM(IN$RELIOB(IN,WASH),FC(IN,WASH,COMPON)); WASHT(IN,WASH)$(RELIOB(IN,WASH)AND EXIST(WASH)).. T('OUT-1',WASH) =E= T(IN,WASH); WASHP(IN,WASH)$(RELIOB(IN,WASH)AND EXIST(WASH)).. P('OUT-1',WASH) =E= P(IN,WASH); WASHSIZE(WASH)$EXIST(WASH).. sizes(wash)*SIZE(WASH) =E= AREA(WASH) ; Summer Workshop, Veszprém 2009 MODUL – FLOTATION UNIT * * * =========================== = FLOTATION = =========================== EQUATIONS FLOTCBH(FLOT) COMPONENT BALANCE FOR HYDROPHOBIC MOLECULE FLOTCBM(FLOT) COMPONENT BALANCE FOR WATER IN TOP FLOTCB(FLOT,COMPON) COMPONENT BALANCE FOR FLOTATION FLOTT(OUT,FLOT) TEMPERATURE RELATION FOR OUT FLOTP(OUT,FLOT) PRESSURE RELATION FOR OUTLET FLOTSIZE(FLOT) SIZE VARIABLE ; FLOTCBH(FLOT)$EXIST(FLOT).. FC('OUT-1',FLOT,'PROT') =E= FLOTREC*FC('IN-1',FLOT,'PROT'); FLOTCBM(FLOT)$EXIST(FLOT).. FC('OUT-1',FLOT,'WA') =E= FLOTREC*FLOTMOIST*FC('IN-1',FLOT,'PROT'); FLOTCB(FLOT,COMPON)$EXIST(FLOT).. FC('OUT-2',FLOT,COMPON) =E= FC('IN-1',FLOT,COMPON)-FC('OUT-1',FLOT,COMPON); FLOTT(OUT,FLOT)$(EXIST(FLOT) AND RELIOB(OUT,FLOT)).. T(OUT,FLOT) =E= T('IN-1',FLOT); FLOTP(OUT,FLOT)$(EXIST(FLOT) AND RELIOB(OUT,FLOT)).. P(OUT,FLOT) =E= P('IN-1',FLOT); FLOTSIZE(FLOT)$EXIST(FLOT).. sizes(flot)*SIZE(FLOT) =E= F('IN-1',FLOT)*fs*3.6; Summer Workshop, Veszprém 2009 MODUL – ADSORBER I * * * ============================= = ADSORPTION = ============================= EQUATIONS ADSSIZE(ADS) REQUIRED BED SIZE ADSMBETHO(ADS,COMPON) FLOW BALANCE FOR ETHANOL FOR OUTLET ADSCBOUT(ADS,COMPON) COMPONENT BALANCE FOR OUTLET 2 ADSCBWA(ADS,COMPON) COMPONENT BALANCE FOR NON-ADSORBED WATER ADSCBWAADS(ADS,COMPON) COMPONENT BALANCE FOR ADSORBED WATER ADSTB(ADS) TOTAL BALANCE FOR ADSORBENT ADSCB(ADS,COMPON) ADDITIVE COMPONENT BALANCE IN ADSORBER ADSFCPH(ADS,COMPON) evaluation of FCPH QHPEQ(ADS) ENTHALPY OF STREAM ADSHB(ADS) HEAT BALANCE ADSP1(ADS) PRESSURE RELATION FOR OUTLET 1 ADSP2(ADS) PRESSURE RELATION FOR OUTLET 2 ADST(OUT,ADS) TEMPERATURE RELATION ; ADSSIZE(ADS)$(EXIST(ADS) AND (NOT MILP)).. SIZE(ADS)*sizes(ads) =E= ADSSATTIME*F('IN-2',ADS)*fs $BATINCLUDE "P_LINEAR.INC" ADS ; ADSMBETHO(ADS,COMPON)$(EXIST(ADS) AND (ORD(COMPON) EQ 6)).. FC('OUT-1',ADS,COMPON) =E= FC('IN-1',ADS,COMPON); ADSCBOUT(ADS,COMPON)$(EXIST(ADS) AND (ORD(COMPON) NE 1) AND (ORD(COMPON) NE 6)).. FC('OUT-2',ADS,COMPON) =E= FC('IN-2',ADS,COMPON); ADSCBWA(ADS,COMPON)$(EXIST(ADS) AND (ORD(COMPON) EQ 1) AND (NOT MILP)).. FC('OUT-1',ADS,COMPON) =E= (1.-ADSREMWA)*FC('IN-1',ADS,COMPON) $BATINCLUDE "P_LINEAR.INC" ADS ; Summer Workshop, Veszprém 2009 MODUL – ADSORBER II ADSCBWAADS(ADS,COMPON)$(EXIST(ADS) AND (ORD(COMPON) EQ 1) AND (NOT MILP)).. FC('OUT-2',ADS,COMPON) =E= ADSREMWA*FC('IN-1',ADS,COMPON)+ FC('IN-2',ADS,COMPON) $BATINCLUDE "P_LINEAR.INC" ADS ; ADSTB(ADS)$(EXIST(ADS) AND (NOT MILP)).. F('IN-2',ADS)*fs =E= (1./ADSPOT)*ADSREMWA*FC('IN-1',ADS,'WA')*fcs('wa') $BATINCLUDE "P_LINEAR.INC" ADS ; ADSCB(ADS,COMPON)$EXIST(ADS).. SUM(OUT$RELIOB(OUT,ADS), FC(OUT,ADS,COMPON)) =E= SUM(IN$RELIOB(IN,ADS), FC(IN,ADS,COMPON)); ADSFCPH(ADS,COMPON)$(EXIST(ADS) AND (ORD(COMPON) EQ 1)).. FCPH(ADS)*fcphs(ads) =E= FC('IN-1',ADS,COMPON)*fcs(compon) * DHADS; QHPEQ(ADS)$(EXIST(ADS) AND (NOT MILP)).. QHP(ADS)*qhps(ads) =E= ADSREMWA* FCPH(ADS)*fcphs(ads) $BATINCLUDE "P_LINEAR.INC" ADS ; ADSHB(ADS)$(EXIST(ADS) AND (NOT HIFL) AND (NOT HENFL)).. QC(ADS)*qcs(ads) =E= 3600. * NHOUR * 1.0E-9 * QHP(ADS)*qhps(ads); ADSP1(ADS)$EXIST(ADS).. P('OUT-1',ADS) =E= P('IN-1',ADS); ADSP2(ADS)$EXIST(ADS).. P('OUT-2',ADS) =E= P('IN-1',ADS); ADST(OUT,ADS)$(EXIST(ADS) AND RELIOB(OUT,ADS)).. T(OUT,ADS) =E= T('IN-2',ADS); Summer Workshop, Veszprém 2009 MODUL – RECTIFIER COLUMN I * * * ===================================== = RECTIFIER COLUMN = ===================================== EQUATIONS RECCB(REC,COMPON) ADDITIVE COMPONENT BALANCE IN RECTIFIER COLUMN RECTOPH(REC,WE) COMPONENT BALANCE FOR HEAVY KEY - TOP RECTOPL(REC,WE) COMPONENT BALANCE FOR LIGHT KEY - TOP RECBOTH(REC,WE) COMPONENT BALANCE FOR HEAVY KEY - BOTTOM RECBOTL(REC,WE) COMPONENT BALANCE FOR LIGHT KEY - BOTTOM RECPT(REC) OUTLET PRESSURE RELATION (TOP) RECPB(REC) OUTLET PRESSURE RELATION (BOTTOM) NTHEOREC(REC) THEORETICAL NUMBER OF TRAYS NACTREC(REC) ACTUAL NUMBER OF TRAYS RECMFTOP(REC,WE) RELATION OF MOL AND MASS FRACTIONS FOR OUT TOP RECANTATOP(REC,WE) ANTOINE EQUATION FOR OUT TOP RECMFBOT(REC,WE) RELATION OF MOL AND MASS FRACTIONS FOR OUT BOTTOM RECANTABOT(REC,WE) ANTOINE EQUATION FOR OUTLET BOTTOM RECMFCL(REC) MOL FRAC IN THE CONDENSED VAPOR FOR LIGHT RECMFCH(REC) MOL FRAC IN THE CONDENSED VAPOR FOR HEAVY RECXC(REC,WE) RELATION OF MOL AND MASS FRACTION IN THE CONDENSER CONDHVREC(REC,WE) HEAT OF VAPORIZATION OF COMPONENTS IN CONDENSER FCPHREC(RECC) evaluation of FCPH IN CONDENSER QCONDREC(RECC) ENTHALPY OF HOT STREAM IN CONDENSER RECCONDHB(RECC) HEAT BALANCE IN CONDENSER REBHVREC(REC,WE) HEAT OF VAPORIZATION OF COMPONENTS IN REBOILER FCPCREC(RECR) evaluation of FCPC IN REBOILER QREBREC(RECR) ENTHALPY OF COLD STREAM IN REBOILER RECREBHB(RECR) HEAT BALANCE IN REBOILER RECSIZE(REC) SIZE VARIABLE ; Summer Workshop, Veszprém 2009 MODUL – RECTIFIER COLUMN II RECCB(REC,COMPON)$EXIST(REC).. SUM(OUT$RELIOB(OUT,REC), FC(OUT,REC,COMPON)) =E= FC('IN-1',REC,COMPON); RECTOPH(REC,WE)$(EXIST(REC) AND DHKEY(REC,WE) AND (NOT MILP)).. FC('OUT-1',REC,WE) =E= DHREC(REC)*FC('IN-1',REC,WE) $BATINCLUDE "P_LINEAR.INC" REC ; RECTOPL(REC,WE)$(EXIST(REC) AND DLKEY(REC,WE)).. FC('OUT-1',REC,WE) =E= DLREC(REC)*FC('IN-1',REC,WE); RECBOTH(REC,WE)$(EXIST(REC) AND DHKEY(REC,WE) AND (NOT MILP)).. FC('OUT-2',REC,WE) =E= (1.-DHREC(REC))*FC('IN-1',REC,WE) $BATINCLUDE "P_LINEAR.INC" REC ; RECBOTL(REC,WE)$(EXIST(REC) AND DLKEY(REC,WE)).. FC('OUT-2',REC,WE) =E= (1.-DLREC(REC))*FC('IN-1',REC,WE); RECPT(REC)$EXIST(REC).. P('OUT-1',REC) =E= P('IN-1',REC); RECPB(REC)$EXIST(REC).. P('OUT-2',REC) =E= P('IN-1',REC); NTHEOREC(REC)$(EXIST(REC) AND (NOT MILP)).. NTHEO(REC) =E= LOG((DLREC(REC)/(1.-DLREC(REC)))*((1-DHREC(REC))/DHREC(REC)))/LOG(AVEVLT) $BATINCLUDE "P_LINEAR.INC" REC ; NACTREC(REC)$(EXIST(REC) AND (NOT MILP)).. NACT(REC) =E= (NTHEO(REC)-1.)/TRAYEFF $BATINCLUDE "P_LINEAR.INC" REC ; Summer Workshop, Veszprém 2009 MODUL – RECTIFIER COLUMN III RECMFTOP(REC,WE)$(EXIST(REC) AND (NOT MILP)).. MF('OUT-1',REC,WE)*SUM(WE1, FC('OUT-1',REC,WE1)/MOLWT(WE1)) =E= FC('OUT-1',REC,WE)/MOLWT(WE) $BATINCLUDE "P_LINEAR.INC" REC ; RECANTATOP(REC,WE)$(EXIST(REC) AND (NOT MILP) AND DLKEY(REC,WE)).. EXP(ANTA(WE)-ANTB(WE)/(ANTC(WE)+ T('OUT-1',REC)*100.)) =E= (P('OUT-1',REC)-DP/2.)*7600.* (MF('OUT-1',REC,'WA')*AVEVLT + MF('OUT-1',REC,'ETHO')) $BATINCLUDE "P_LINEAR.INC" REC ; RECMFBOT(REC,WE)$(EXIST(REC) AND (NOT MILP)).. MF('OUT-2',REC,WE)*SUM(WE1, FC('OUT-2',REC,WE1)/MOLWT(WE1)) =E= FC('OUT-2',REC,WE)/MOLWT(WE) $BATINCLUDE "P_LINEAR.INC" REC ; RECANTABOT(REC,WE)$(EXIST(REC) AND (NOT MILP) AND DHKEY(REC,WE)).. EXP(ANTA(WE)-ANTB(WE)/(ANTC(WE)+ T('OUT-2',REC)*100.))* (MF('OUT-2',REC,'WA') + AVEVLT*MF('OUT-2',REC,'ETHO')) =E= (P('OUT-2',REC)+DP/2.)*7600. $BATINCLUDE "P_LINEAR.INC" REC ; RECMFCL(REC)$(EXIST(REC) AND (NOT MILP)).. MFC(REC,'ETHO') =E= MF('OUT-1',REC,'ETHO')*(P('OUT-1',REC)-DP/2.)*7600./ EXP(ANTA('ETHO')-ANTB('ETHO')/(ANTC('ETHO')+T('OUT-1',REC)*100.)) $BATINCLUDE "P_LINEAR.INC" REC ; RECMFCH(REC)$EXIST(REC).. MFC(REC,'WA') =E= 1.- MFC(REC,'ETHO') ; Summer Workshop, Veszprém 2009 MODUL – RECTIFIER COLUMN IV RECXC(REC,WE)$(EXIST(REC) AND (NOT MILP)).. XC(REC,WE)*SUM(WE1,MFC(REC,WE1)*MOLWT(WE1)) =E= MFC(REC,WE)*MOLWT(WE) $BATINCLUDE "P_LINEAR.INC" REC ; CONDHVREC(REC,WE)$(EXIST(REC) AND (NOT MILP)).. DHV('OUT-1',REC,WE) =E= (HV(WE)/MOLWT(WE))* ((TC(WE)-T('OUT-1',REC)*100.)/(TC(WE)-TB(WE)))**NWATSON $BATINCLUDE "P_LINEAR.INC" REC ; FCPHREC(RECC)$SUM(REC$(ORD(REC) EQ ORD(RECC)), EXIST(REC) AND (NOT MILP)).. fcphs(recc)*FCPH(RECC) =E= SUM(REC$(ORD(REC) EQ ORD(RECC)), F('OUT-1',REC)*fs*REFLUX* SUM(WE, XC(REC,WE)*DHV('OUT-1',REC,WE))) $BATINCLUDE "P_LINEAR.INC" RECC ; QCONDREC(RECC)$SUM(REC$(ORD(REC) EQ ORD(RECC)), EXIST(REC) AND CONDFL(RECC)).. QHP(RECC)*qhps(recc) =E= fcphs(recc)*FCPH(RECC)*100.*0.01; RECCONDHB(RECC)$SUM(REC$(ORD(REC) EQ ORD(RECC)), EXIST(REC)).. QC(RECC) =E= 3600.*NHOUR*1.0E-9 * QHP(RECC)*qhps(recc); REBHVREC(REC,WE)$(EXIST(REC) AND DHKEY(REC,WE) AND (NOT MILP)).. DHV('OUT-2',REC,WE) =E= (HV(WE)/MOLWT(WE))*((TC(WE)-T('OUT-2',REC)*100.)/ (TC(WE)-TB(WE)))**NWATSON $BATINCLUDE "p_linear.inc" REC ; FCPCREC(RECR)$SUM(REC$(ORD(REC) EQ ORD(RECR)), EXIST(REC) AND (NOT MILP)).. FCPC(RECR)*fcpcs(recr) =E= SUM(REC$(ORD(REC) EQ ORD(RECR)),(F('OUT-1',REC)*fs*REFLUX-F('OUT-2',REC)*fs)* SUM(WE$DHKEY(REC,WE), DHV('OUT-2',REC,WE))) $BATINCLUDE "P_LINEAR.INC" RECR ; Summer Workshop, Veszprém 2009 MODUL – RECTIFIER COLUMN IV QREBREC(RECR)$SUM(REC$(ORD(REC) EQ ORD(RECR)), EXIST(REC) AND EVAPFL(RECR)).. QCP(RECR)*qcps(recr) =E= 100.*0.01*FCPC(RECR)*fcpcs(recr); RECREBHB(RECR)$SUM(REC$(ORD(REC) EQ ORD(RECR)), EXIST(REC)).. QH(RECR) =E= 3600.*NHOUR*1.0E-9 * QCP(RECR)*qcps(recr); RECSIZE(REC)$EXIST(REC).. SIZE(REC)*sizes(rec) =E= VOLUME(REC); Summer Workshop, Veszprém 2009 INPUT AND OUTPUT FILES The high level language GAMS (General Algebraic Modeling System) is interface for mathematical modeling with MIPSYN. Input and output files are written in GAMS language. User has to define (input files): 1.) the superstructure (p_struct) 2.) all data (datalib.gms) 3.) list of chemical components (p_compon) 4.) physical properties of components (if component is not defined) (compon) 5.) initialization scheme for non-existing modules in process flowsheet (initlib.gms) 6.) the additional modules equations (my_model.dat) 7.) components and their physical properties (p_dbase.lib). Output files: p_w.lst (listing file) optimum.res (optimal solution) p_b.res (MINLP iterations) Summer Workshop, Veszprém 2009 OPTIMIZATION Raw material mass flow (corn, potato, molasses, etc.): 18 kg/s Number of annual working hours: 8500 Objective: maximizing the profit Product mass flow Price of product max P c pprod Profit p qp c q rreac r r Need of utility Depreciation ch Qh cc Qc (a1 a2 S ) / n Raw material Price of raw material mass flow Utility price Depreciation period Investment was estimated by programme Aspen Icarus 2006.5. Solvers: for NLP suboptimization: local optimizer CONOPT 3, for MILP optimization: optimizer GAMS/CPLEX 10.1. Summer Workshop, Veszprém 2009 RESULTS Annual profit before taxes: 80000 70000 60000 50000 40000 30000 20000 10000 0 CORN POTATOES NHI: 1. structure MOLASSES NHI: 2. structure CORN STOVER WHEAT STRAW HI: 1. structure WOOD CHIPS HI: 2. structure Summer Workshop, Veszprém 2009 RESULTS Optimal productivity of products: WOOD CHIPS WHEAT STRAW CORN STOVER MOLASSES POTATOES CORN 0 FLUE GAS 5 ACETIC ACID 10 15 DDGS 20 BIOGAS 25 30 BIOETHANOL Mass flow rate /(kg/s) Summer Workshop, Veszprém 2009 RESULTS Annual profit per kg of bioethanol (k€/a): 14000 12000 10000 NHI: 1. structure 8000 NHI: 2. structure HI: 1. structure 6000 HI: 2. structure 4000 2000 0 CORN POTATOES MOLASSES CORN STOVER WHEAT STRAW WOOD CHIPS Summer Workshop, Veszprém 2009 RESULTS Operating costs (k€/a): 100000 90000 80000 70000 60000 RAW MATERIAL UTILITY - NHI 50000 UTILITY - HI 40000 INVESTMENT 30000 20000 10000 0 CORN POTATOES MOLASSES CORN STOVER WHEAT STRAW WOOD CHIPS Summer Workshop, Veszprém 2009 RESULTS Payback period (a): 16 14 12 10 NHI: 1. structure NHI: 2. structure 8 HI: 1. structure HI: 2. structure 6 4 2 0 CORN POTATOES MOLASSES CORN STOVER WHEAT STRAW WOOD CHIPS Summer Workshop, Veszprém 2009 RESULTS Efficiency (%): 50 45 40 35 30 25 20 15 10 5 0 CORN POTATOES MOLASSES CORN STOVER WHEAT STRAW WOOD CHIPS Summer Workshop, Veszprém 2009