溶剂优化

介绍

溶剂或溶剂系统的选择可以对溶质的溶解性,溶剂系统的溶解性的溶解性,或许多化学反应的反应速率/选择性的性能产生显着影响。溶剂也是配方/反应/提取设计中最可达的变量之一,因为这些问题中的许多其他物种(活性成分,共溶剂,反应物,催化剂,提取物,丁酰胺酸酯等)通常是固定的或紧密的约束。然而,溶剂选择问题是组合的复杂和非琐碎的。作为这种复杂性的一个例子,考虑从一组100个可能的溶剂选择最多4个溶剂的问题。仅单独的组合数量超过400万,这是一个数字,使每个系统无法掌管的实验室或试验规模测试。另外的并发症是单独的溶剂的身份不确定溶剂系统:我们还必须知道摩尔分数。当然,溶剂系统存在无限数量的摩尔分数值(值 \(x_1 = 0.3,\,x_2 = 0.7 \) 和一样有效 \(x_1 = 0.29999,\,x_2 = 0.70001 \) ),意味着高通量的方法仍然需要多个溶剂系统的多个摩尔分数值,以有效地对摩尔分数空间进行采样。

幸运的是,可以通过现代数学优化方法解决这个问题的复杂性。遵循这种方法 [1],我们重新构建COSMO-RS / -SAC参数和方程,并将它们包含在混合整数非线性编程(MINLP)配方中。使用这种通用配方,我们可以将许多优化溶剂和解决方案技术应用于确定最佳溶剂系统的问题。我们注意到目前使用的优化方法仅保证本地解决方案,但制定应该足够强大,以便为许多类型的问题提供高质量解决方案。事实上,对于大多数我们的示例问题,我们的优化方法能够找到全球最佳解决方案(通过溶剂空间的详尽估量和摩尔级分空间的致密采样来确定)。该节目中还有一些功能(例如,-Multistart标志),有助于提供起始条件的多样性,因此求解器可以找到高质量的解决方案。

问题类型

目前,该程序有两个问题模板:

  • 溶解度 模板:这选择溶剂系统和摩尔级分,以最大化或最小化液体混合物中固体溶质的摩尔分数溶解度。请注意,目前仅支持实心/液体均衡计算。
  • lllextraction. 模板:这选择了两相溶剂系统和摩尔级分,以最大化(或最小化)两个液相之间的两种溶质的分配比(D)。这些问题的分配比率在摩尔分数而不是浓度方面定义。其中的公式在下面的等式中给出。请注意,如果所有可能的溶剂都是可混溶的,则流动的问题将失败。

因为液体密度并不总是已知的,所以我们在摩尔分数方面计算分配比(D)。液 - 液相平衡条件为D的等效表达式更准确地说,这意味着D可以计算如下:

\ [d = max \ left(\ frac {\ gamma_1 ^ i} {\ gamma_1 ^ {ii}} \ frac {\ gamma_2 ^ {id}} {\ gamma_2 ^ i},\ frac {\ gamma_2 ^ i}} { \ gamma_2 ^ {ii}} \ frac {\ gamma_1 ^ {II}}}} {\ gamma_1 ^ i} \右)\]

在哪里 \(\ gamma_i ^ j \) 代表溶质的活性系数 i in phase j。在这里,我们假设要分离的两个溶质是索引的 \(i \ in \ {1,2 \} \)。最大操作员虽然未在优化问题本身中使用,但允许我们在上面的等式中表达D的正确值。换句话说,最大操作员去除D值对溶质和阶段的任意索引的依赖性。

笔记

对于Lloxtraction问题,溶质的摩尔级分固定为0,除非它们也被指定为溶剂。这意味着使用无限稀释活性系数计算分配系数。

下面给出了使用两种模板的溶剂优化问题的简要概述:

  溶解度 lllextraction.
最小溶剂数量 1 2
优选的溶剂数量 >1 >4
典型的解决方案时间 <2s 1-30s
推荐多士 <5 if any 5-10
温暖的推荐 问题依赖

将在后面的部分中解释WALLATT和MULTISTART选项。

Running the 溶剂优化program

溶剂优化程序可以从命令行运行。程序使用以下一般标志:

旗帜 目的 例子
-h [-help] 生成帮助消息 $ amsbin / solvent_opt -help
-s [-smiles] 输入分子作为微笑刺痛 $ amsbin / solvent_opt -smiles<SMILES> …
-m [-mol] 输入分子为.mol文件 $ amsbin / solvent_opt -mol<mol file> …
-c [-coskf] 输入分子为.coskf文件 $ amsbin / solvent_opt -coskf<.coskf file> …
-d [-display] 显示问题结果 $ amsbin / solvent_opt -d ...
-o [-outpul] 将输出写入文件 $ amsbin / solvent_opt -o<output file> …

此外,可以在命令行上输入计算所需的物理属性。目前,某些计算只需要两个物理性质(融合点的焓和熔点)。这些标志必须遵循分子输入,然后是属性值。以下提供了一些示例:

旗帜 财产 例子
-hfusion. 融合(KJ / Mol) $ amsbin / solvent_opt -c ibuprofen.coskf -hfusion 26.6 ...
-meltingPoint. 熔点(k) $ amsbin / solvent_opt -c ibuprofen.coskf -meltingpoint 349.2 ...

可以使用以下标志输入优化问题规范和方法选项:

旗帜 意义 例子
-方法 方法选择(COSMO-RS COSMOSAC2016) ... - 方法cosmo-rs ...
-最大限度 最大化溶解度/提取率  
-min. 尽量减少溶解度/提取率  
- 溶解 指定哪些分子是溶质 ...... - - ccco -solute ...
-T. [-template] 选择一个问题模板 ......林林......
-温度 输入1或2温度(k) ... - 高温298.15 ...

注意,与-hfusion和-meltingpoint标志一样,-solute标志来了 复合标识符(SMILES字符串/文件名)。

最后,有两个优化问题标志可以改变不收敛的问题。第一个是-multistart标志。此标志采用整数 N 作为输入并指示算法开始 N 随机生成的起点。这对于困难问题来说是有用的,因为算法不仅从更多起点开始,而且每次问题都失败时它还会调整内部参数。 -WarmStart标志指示主算法尝试将初始起点转换为高质量,可行的起始点,然后可以给予优化算法。这种选择对许多问题有所帮助,特别是那些溶剂数量少量的溶剂或溶剂的问题非常不混溶(例如,水和正己烷)。以下摘要如下所示:

旗帜 意义 例子
- 从多个随机起点开始 ...... - 医生5 ...
-Warmstart. 使用WarmStart战略 $ amsbin / solvent_opt -warmstart ...

例子

在本节中,我们提供了一些示例问题,以演示溶剂优化程序中提供的一些功能。我们首先使用溶解度模板进行样本问题,然后我们提供Lllextraction模板的使用示例。

溶解度

对于第一实施例,我们确定溶剂的混合物以最大化扑热酰胺的溶解度。出于说明功能的目的,我们假设我们没有可用的.COSKF文件用于寄生疫苗,并且必须使用其微笑字符串。我们可以使用来自Adfcrs-2018数据库的一些常见溶剂:

$AMSBIN/solvent_opt -t SOLUBILITY -d -max \
  -s "CC(=O)NC1=CC=C(C=C1)O"  - 溶解 -meltingpoint 443.1 \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Acetic_acid.coskf \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Hexane.coskf \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Toluene.coskf \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Butanoic_acid.coskf \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Ethanol.coskf
================================================
       Estimating missing property values
================================================

                                      Estimated values
--------------------------------------------------------------------------------------
 Molecule                                     Missing 财产    Estimated Value
--------------------------------------------------------------------------------------
 CC(=O)NC1=CC=C(C=C1)O                        Hfusion             7.89433
--------------------------------------------------------------------------------------


================================================
     Beginning solvent optimization problem
================================================

**********************************************
                 Iteration 1
**********************************************

Initial guess x1:   0.0235183
Initial guess x2:   0.0758477
Initial guess x3:   0.220089
Initial guess x4:   0.283974
Initial guess x5:   0.314382
Initial guess x6:   0.082189
------> Solver Status: CONVERGED
Objective value: 0.159729
---------------------------------------------------------------------------------
                                 Variable values
---------------------------------------------------------------------------------
              x1:   0.159729       CC(=O)NC1=CC=C(C=C1)O
              x2:   0              Acetic_acid.coskf
              x3:   0              Hexane.coskf
              x4:   0              Toluene.coskf
              x5:   0              Butanoic_acid.coskf
              x6:   0.840271       Ethanol.coskf

该问题正确选择乙醇作为寄生淀酰胺最溶解的溶剂。单一溶剂溶液在溶解性问题中常见,并且通常没有混合溶剂系统优于单溶剂。请注意,在此示例中,基于输入SMILES字符串估计丢失的固体/液体均衡所需属性值。因为 - 梅泰特点标志为熔点提供了一个值,所以只有估计融合的焓。

液液提取

我们的下一个例子侧重于经典液体液萃取问题:分离乙酸和水。在这个例子中,我们假设我们希望用更环保的东西更换这种提取(N-己烷)的标准溶剂。咨询GSK的溶剂选择指南 [2],我们将我们的问题限制在具有最少问题的溶剂中:水,1-丁醇,2-丁醇,乙酸叔丁酯,乙酸异丙酯,乙酸丙酯和碳酸二甲酯。

$AMSBIN/solvent_opt -d -t LLEXTRACTION -max \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Acetic_acid.coskf -solute \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Water.coskf -solute \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Water.coskf \
  -c $AMSHOME/atomicdata/ADFCRS-2018/1-Butanol.coskf \
  -c $AMSHOME/atomicdata/ADFCRS-2018/2-Butanol.coskf \
  -c $AMSHOME/atomicdata/ADFCRS-2018/tert-Butyl_acetate.coskf \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Isopropyl_acetate.coskf \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Propyl_acetate.coskf \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Dimethyl_carbonate.coskf

请注意,重复水,因为它既是溶剂空间中的溶质和溶剂。所产生的输出如下:

Removing duplicate entry: /home/austin/amshome/atomicdata/adf.CRS-2018/Water.coskf
================================================
     Beginning solvent optimization problem
================================================

**********************************************
                 Iteration 1
**********************************************
                    Phase I        Phase II
Initial guess x1:   0.0818796      0.241048
Initial guess x2:   0.162378       0.185238
Initial guess x3:   0.198892       0.0429676
Initial guess x4:   0.114387       0.152842
Initial guess x5:   0.0267187      0.0437898
Initial guess x6:   0.232349       0.042073
Initial guess x7:   0.112232       0.182333
Initial guess x8:   0.071164       0.109708
------> Solver Status: CONVERGED
Objective value: 232.779
---------------------------------------------------------------------------------
                                 Variable values
---------------------------------------------------------------------------------
              x1:   0              0                   Acetic_acid.coskf
              x2:   0.994592       0.0358616           Water.coskf
              x3:   0              0                   1-Butanol.coskf
              x4:   0              0                   2-Butanol.coskf
              x5:   0.000100098    0.186012            tert-Butyl_acetate.coskf
              x6:   0              0                   Isopropyl_acetate.coskf
              x7:   0              0                   Propyl_acetate.coskf
              x8:   0.00530747     0.778127            Dimethyl_carbonate.coskf
---------------------------------------------------------------------------------
                                Extraction values
---------------------------------------------------------------------------------
 Distribution
 coefficient (D)         log10(D)
 ---------------------------------
 232.779                  2.36694

Solute 1 ID:        Acetic_acid.coskf
Solute 2 ID:        Water.coskf

                   -------------------------
                        Partition ratio           Partition
                    Phase I        Phase II       coefficient (P)     log10(P)
                   -------------------------------------------------------------
Solute 1:           1              8.39321        0.119144            -0.923928
Solute 2:           27.7342        1              27.7342             1.44302

在该问题中,我们获得了主要的水相和乙酸二甲酯/叔丁基乙酸酯相作为溶液。该溶剂系统提供232.779的分布系数(d)。这是分离的良好值,但仍然比水/己烷溶剂系统的分布系数(d = 1372.14)的分布系数差异约为6。

然后,我们增加了我们的溶剂搜索空间,包括GSK所认为具有“一些发行”的溶剂,并且也存在于我们的数据库中:乙醇,1-丙醇,2-丙醇,甲醇,乙酸乙酯,乙酸甲酯,甲基异丁基酮,丙酮,对二甲苯,甲苯,异辛烷,环己烷,庚烷和DMSO。

$AMSBIN/solvent_opt -d -t LLEXTRACTION -max \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Acetic_acid.coskf -solute \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Water.coskf -solute \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Water.coskf \
  -c $AMSHOME/atomicdata/ADFCRS-2018/1-Butanol.coskf \
  -c $AMSHOME/atomicdata/ADFCRS-2018/2-Butanol.coskf \
  -c $AMSHOME/atomicdata/ADFCRS-2018/tert-Butyl_acetate.coskf \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Isopropyl_acetate.coskf \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Propyl_acetate.coskf \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Dimethyl_carbonate.coskf
  -c $AMSHOME/atomicdata/ADFCRS-2018/Ethanol.coskf  \
  -c $AMSHOME/atomicdata/ADFCRS-2018/1-Propanol.coskf  \
  -c $AMSHOME/atomicdata/ADFCRS-2018/2-Propanol.coskf \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Methanol.coskf  \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Ethyl_acetate.coskf  \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Methyl_acetate.coskf \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Methyl_isobutyl_ketone.coskf \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Acetone.coskf  \
  -c $AMSHOME/atomicdata/ADFCRS-2018/p-Xylene.coskf  \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Toluene.coskf  \
  -c $AMSHOME/atomicdata/ADFCRS-2018/2,2,4-Trimethylpentane.coskf  \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Cyclohexane.coskf  \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Heptane.coskf  \
  -c $AMSHOME/atomicdata/ADFCRS-2018/Dimethyl_sulfoxide.coskf

这会产生以下内容:

...
---------------------------------------------------------------------------------
                                 Variable values
---------------------------------------------------------------------------------
              ...
              x2:   0.999972       7.50215e-05         Water.coskf
              ...
              x15:  5.58242e-06    0.00252496          Methyl_isobutyl_ketone.coskf
              ...
              x20:  2.27012e-05    0.9974              Cyclohexane.coskf
              ...
---------------------------------------------------------------------------------
                                Extraction values
---------------------------------------------------------------------------------
 Distribution
 coefficient (D)         log10(D)
 ---------------------------------
 1892.42                  3.27702

Solute 1 ID:        Acetic_acid.coskf
Solute 2 ID:        Water.coskf

                  -------------------------
                        Partition ratio           Partition
                    Phase I        Phase II       coefficient (P)     log10(P)
                   -------------------------------------------------------------
Solute 1:           7.04343        1              7.04343             0.847784
Solute 2:           13329.1        1              13329.1             4.1248

如图所示,该溶剂系统的D值为1892.42,优于己烷/水系统的D值。从可能的溶剂中除去环己烷,我们仍然获得D值为1891.09的溶液。从溶剂清单中连续去除最佳的非水性溶剂,我们获得D值的溶液:1864.41,1645.38,1597.42,最后232.779。此问题的良好解决方案的数量归功于使用这种溶剂选择算法在一般提取设计中的思想。

另外,有一个 溶剂优化教程 这表明从Cosmo-RS GUI运行该程序。

难题难题指南

溶剂优化计划应为许多问题产生高质量解决方案。然而,可能存在算法努力产生解决方案的示例。下面我们列出了故障排除指南,以帮助解决有问题的溶剂优化:

(1)对于LloxTraction问题,确保至少有2个不混溶的溶剂

因为Lloxtraction模板需要满足液体相平衡条件并且有两个不同的液相,因此如果所有摩尔分数中的所有可用溶剂都在混溶性(不可能分离),则溶剂优化程序将失效。

(2)重新执行该计划多次

溶剂优化计划并不完全确定。特别地,每次迭代都随机选择起始点。这些起点影响问题的收敛性,并且在某些情况下,可能对优化产生很大影响。这意味着如果溶剂优化程序的一次执行无法生成解决方案,则可能随后的执行可能会成功。如果在重新执行多次尝试后,程序继续失败,请考虑使用 多层的 或者 温暖的 flags.

(3)使用-multistart标志

此标志从多个起始点多次执行程序。如果出现问题失败,则程序使用这些问题的信息,并更新内部优化参数以帮助连续问题的融合。因为每个迭代需要相对较短的时间,所以可以将多级标志与高量不同的起点一起使用。首先尝试较少数量的多度(5-15)是有用的。如果此生成无解决方案,请尝试使用-WarmStart标志除了多istarts。如果问题继续失败,请使用逐渐较高的多体(20,40,60,80,100+)。

(4)使用-warmstart标志

如果存在此标志,则程序尝试找到LllexTraction问题的良好起点,而不是简单地使用随机生成的起点。这可能有或没有-Multistart标志,并且非常有效。在我们的经验中,如果存在少量溶剂和/或溶液含有两个高度不加液(例如己烷/水),则流动的问题有时会收敛难度。我们重申这是非常有问题的。

标准实施的差异

溶剂优化程序的COSMO-RS方法与ADF Combi2005实现几乎相同(默认COSMO-RS方法)。单个差异是没有 f_corr. 溶剂优化实现中的参数。该参数用于Sigma值的垂直分量,并且对结果仅效果很小。从溶剂优化计划中删除它以改善解决时间和鲁棒性。虽然计算值将类似,但是,如果需要,溶剂优化程序的结果可以很容易地输入到ADFCR并检查完整的ADF Combi2005方法。

溶剂优化中的COSMOSAC2016实施与ADFCR中的2016年ADF陈达相同。

要在溶剂优化程序中重现对公差范围内的结果,必须在GUI或命令行中更改参数。以下参数更改是必需的:

方法 必需参数更改
Cosmo-Rs. f_corr. to 0
Cosmosac2016 没有任何

在程序的当前版本中,COSMO-RS / -SAC参数 不能 更改/定制。

参考

[1]N.D.Austin,N.v. Sahinidis,D.W.特拉文, 基于COSMO的计算机辅助分子/混合物设计:专注于反应溶剂, Aiche Journal 64,104(2018)
[2]GSK溶剂选择指南。访问1/9/18。 http://www.rsc.org/suppdata/gc/c0/c0gc00918k/c0gc00918k.pdf