# Exp of negative cvx variable multiplied by cvx variable

I have a convex problem (Power shaving) as follows:

A) Version 1:
cb is battery capacity which is constant
x is the vector of charging and discharging which is the convex variables.

the constraints are:
x>=-1
x<=0.4

Es>=0
Es<=full capacity

where Es= cb*integral (x)

The objective is to optimize the bill amount

the bill amount = sum(grid)*rate+max(grid)*100
let say the rate is 10.
The problem is solved using cvx

B) version 2
Let’s make the problem more complex by assuming that:
rate =10 if x>=0
rate=1 if x<=0 ; % they pay me small money back if provide them with some power;

I can use the big M value and linearization to solve the issues however when dealing with data of year using the binary variable make solving the problem difficult

C) Version 3
I try here to remove the binary variable with a continuous variable using Sigmond function
I am planning to use the sigmond function to represent the rate such that
rate = 1 + 9 * (1/(1+exp(-x)))

the new objcive will be:
the bill amount = sum(grid)* (1 + 9 * (1/(1+exp(-x))) )+max(grid)*100

for reminder the grid=Load+cb*x; %(Load and cb are constants and x is cvx variable).

we can not multiply variables in cvx optimization, but I have seen that exp still can be used with cvx. is my problem version 3 doable in cvx optimization? and If so would you please help me to represent it in cvx?

I saw a similar issue in the following forum but I could not understand it:
How to express “x*(2^(1/x)-1)” in CVX

`x/(1+exp(-x))` is neither convex nor concave, so it can’t be used in CVX, regardless of whatever number it is multiplied by.